jQuery/JavaScript:检查数字是否比另一个数字大一个最小值
我有一个函数,仅当用户向左或向右滚动时才会触发,方法是执行以下操作:jQuery/JavaScript:检查数字是否比另一个数字大一个最小值,javascript,jquery,Javascript,Jquery,我有一个函数,仅当用户向左或向右滚动时才会触发,方法是执行以下操作: var currentScrollLeft = visibleArea.scrollLeft(); visibleArea.scroll(function () { var newScrollLeft = visibleArea.scrollLeft(); if (newScrollLeft > currentScrollLeft) { // do something } })
var currentScrollLeft = visibleArea.scrollLeft();
visibleArea.scroll(function () {
var newScrollLeft = visibleArea.scrollLeft();
if (newScrollLeft > currentScrollLeft) {
// do something
}
});
但是,即使在向左滚动
中稍有更改,也会触发此命令。有没有办法告诉它只有在移动超过一定数量时才开火,比如说50
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();
});
这个答案可能会有帮助:这只会在向右滚动时检测,我们是否也可以在以另一种方式向后滚动时检测?这样做的最佳方法是什么?@Owen这两种方法都可以,因为Math.abs返回绝对值50,而不管差值是50(左)还是-50(右)。试试看;)当然,我用错了,我把它附加到当前的if语句中,而不是替换它。