我目前正在使用香草JS插件,并且需要滚动更新值,因此我在文档上附加了事件监听器,以触发应更新上述值的函数。

事实是,它适用于文档加载,但不适用于滚动。好像滚动事件根本不起作用。

目前,我的JS部分看起来像这样:

var currentPosition = 0;

var updatePosition = function() {
  currentPosition = document.body.scrollTop;
  document.getElementById('indicator').textContent = currentPosition;
};

document.addEventListener('scroll', updatePosition());


为了使它更清楚,这里有个小提琴:JSFIDDLE

我尝试将事件侦听器附加到主体和窗口上,这没有任何区别。

最佳答案

您直接使用updatePosition()调用函数,这是因为您在页面启动时触发了函数,因此必须仅使用函数名称updatePosition进行附加和处理。

码:

document.addEventListener('scroll', updatePosition);
                                                  |-- no () here


演示:http://jsfiddle.net/IrvinDominin/dyy6z35s/

09-10 10:56