检测左滚动JavaScript

时间:2017-09-26 12:17:06

标签: javascript

当div向左滚动时,我会添加什么代码来触发代码块?

isOccupied = false

到目前为止,我已经尝试了以下内容无济于事:

true

2 个答案:

答案 0 :(得分:2)

如上所述here 您可以通过以下方式处理水平滚动:

$("#someContainer").on("scroll", function (e) {
    horizontal = e.currentTarget.scrollLeft;
    vertical = e.currentTarget.scrollTop;
});

在这种情况下,这会绑定此元素上的所有类型的滚动事件,因此您也可以处理

垂直e.currentTarget.scrollTop

水平e.currentTarget.scrollLeft

答案 1 :(得分:1)

  

此解决方案将检测DOM事件。 div不需要有一些滚动条

您应该可以使用此代码段检测滚动方向:

$(window).on('DOMMouseScroll mousewheel', function (e) {
  if(e.originalEvent.detail > 0 || e.originalEvent.wheelDeltaX < 0) { //alternative options for wheelData: wheelDeltaX & wheelDeltaY
    //scroll right
    console.log("RIGHT");
  } else {
    //scroll left
    console.log("LEFT");
  }

  //prevent page fom scrolling
  return false;
});

它适用于所有浏览器。如果您需要检测水平方向,请将wheelDeltaX替换为wheelDeltaY

如果要检测滚动方向并让页面滚动,最后return true