我想每当滚动条穿过某个点时更新一些数据,它看起来像这样:fiddle
var scrollElement = document.getElementById('scrollElement');
var line = document.getElementById('line');
scrollElement.addEventListener('wheel', function(e) {
this.scrollLeft += e.deltaY;
if (this.scrollLeft > 106) {
console.log('something')
} else if (this.scrollLeft < 106) {
console.log('something else')
}
});
上面代码中的问题是每次滚动条低于106px或高于106px时都会执行IF。我只想在越线时执行其中一些。所以基本上我只想在从左到右穿越时做一些事情,并且我只想在从右到左穿越时做一些事情。怎样才能达到这样的结果呢?提前致谢!
最佳答案
所以添加一个 bool 值
var hasRun = false;
并将其添加到支票
if(this.scrollLeft < 10 && !hasRun) { hasRun = true; }
关于javascript - 仅在跨越某个点时运行某些代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43055406/