对象不支持此属性或方法“ scrollBy”

时间:2018-07-30 18:35:43

标签: reactjs webpack microsoft-edge

我使用react和webpack实现了一个应用程序。我刚刚在Microsoft Edge上看到一条错误消息:

  

对象不支持此属性或方法'scrollBy'

即使我添加了babel-polyfil和transform-object-rest-spread。 有人可以帮我吗?

1 个答案:

答案 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为负/正,具体取决于滚动方向。