繁体   English   中英

“滚动”事件监听器不起作用

[英]“scroll” event listener not working

我目前正在使用香草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/

var currentPosition = 0;

var updatePosition = function() {
  currentPosition = window.pageYOffset || document.documentElement.scrollTop;      
  document.getElementById('indicator').textContent = currentPosition;    
};

document.addEventListener('scroll', updatePosition);

http://jsbin.com/seqecezecu/1/edit?js,console,output

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM