Angular对象在Internet Explorer中不支持属性或方法“scrollTo”。

3

在我的 Angular 6 应用程序中,我有一个方法可以执行页面的自动滚动。在 Chrome 中它可以正常工作,但是在 Internet Explorer(11)中我得到了以下错误:

ERROR TypeError: 对象不支持属性或方法 'scrollTo'

这是我组件中的函数:

 autoScroll(step) {
    setTimeout(() => {
        let element = document.getElementById(step.stepId);
        if (element) {
            let el= document.getElementsByClassName("elements") && document.getElementsByClassName("elements")[0];
            if (el) {
                el.scrollTo({
                    top: 50,
                    behavior: "smooth"
                });
            }
        }
    })
}

请问您能提供一个小的 StackBlitz 吗? - SeleM
你使用了正确的 polyfills 吗? - Alber
应该是 'window.scrollTo()'。 - Suresh Kumar Ariya
2个回答

4

使用scrollTop属性,希望这能帮助您解决问题。


可以了!有没有可能添加动画呢?我试过这个:mySelector.animate({50}, 500);但是我得到了这个错误: 类型“{ scrollTop: number; }”的参数不能赋给类型“Keyframe[] | PropertyIndexedKeyframes”的参数。 - panagulis72
我最近尝试了这个,但据我所知它在IE浏览器上的选项有限,也就是说无法设置选项。但是在其他浏览器中应该可以正常工作。如果我的回答对您有帮助,请给我评分。谢谢。 - ngWolf
由于IE的功能有限,无法设置选项。 - ngWolf
抱歉,我之前漏写了,之前的错误是由Visual Studio Code引起的,而不是IE。 - panagulis72
更新问题,这将有助于其他人。 - ngWolf
显示剩余2条评论

0

尝试在polyfills.ts文件中启用对IE 11的支持。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接