只有在穿过某个点时才运行一些代码

时间:2017-03-27 20:00:06

标签: javascript jquery

我想在滚动条跨越某个点时更新一些数据,它看起来像这样: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。我只想在越线时执行其中一些。所以基本上我只想在从左到右穿过时做一些事情,我只想在从右到左穿过时做点什么。如何实现这样的结果?提前谢谢!

1 个答案:

答案 0 :(得分:1)

所以添加一个布尔值

var hasRun = false;

并将其添加到支票

if(this.scrollLeft < 10 && !hasRun) { hasRun = true; }