我有一个只有在用户向左或向右滚动时触发的功能,执行以下操作:
var currentScrollLeft = visibleArea.scrollLeft();
visibleArea.scroll(function () {
var newScrollLeft = visibleArea.scrollLeft();
if (newScrollLeft > currentScrollLeft) {
// do something
}
});
但是,即使scrollLeft
发生了一丝微小的变化,这种情况也会发生。有没有办法可以告诉它只有在移动超过一定数量时才开火,比如50
?
答案 0 :(得分:3)
if((Math.abs(newScrollLeft - currentScrollLeft)) > 50)
所以上面的代码会变成:
var currentScrollLeft = visibleArea.scrollLeft();
visibleArea.scroll(function () {
var newScrollLeft = visibleArea.scrollLeft();
if (Math.abs(newScrollLeft - currentScrollLeft) > 50) {
// do something
}
currentScrollLeft = visibleArea.scrollLeft();
});