我使用react和webpack实现了一个应用程序。我刚刚在Microsoft Edge上看到一条错误消息:
对象不支持此属性或方法'scrollBy'
即使我添加了babel-polyfil和transform-object-rest-spread。 有人可以帮我吗?
答案 0 :(得分:0)
Edge不支持element.scrollBy(但部分支持window.scrollBy)。
我在React中的解决方法: 为要滚动的元素创建一个ref,为滚动鼠标添加事件监听器,
if (/Edge/.test(navigator.userAgent)) {
this.element.scrollTop = this.element.scrollTop + someDistance;
} else {
this.element.scrollBy({
top: someDistance,
behavior: 'smooth',
});
}
其中someDistance为负/正,具体取决于滚动方向。