js如何判断div滚动条滚动方向

有个功能,只需要监听横向滚动执行函数,竖向滚动不触发,如何判断div的滚动条滚动方向呢

两个div横向同步滚动,怎么写比较高效

阅读 9.4k
4 个回答
// angular版本,只横向滚动的时候执行某脚本
handleScroll(e, anotherDivElf) {
    if (this.scrollLeft === e.target.scrollLeft) {
        return;
    }
    this[anotherDivElf].nativeElement.scrollLeft = e.target.scrollLeft;
    this.scrollLeft = e.target.scrollLeft;
}

简单点,拿到scrollLeft和scrollTop,事件回调里面计算一下差值就行了。

但是忽然想到一个另一个好玩的处理方式,可以用两个div嵌套分别处理
https://jsbin.com/lapifupeqa/...

当前区域既可以横向滚动也可以竖向滚动吗?你可以监听下某个元素的offsetLeft值,若放生变化了,则说明横向滚动了!

监听scroll事件,保存当前scrollLeft值,然后判断与上次保存的值是否有差值

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题