2015-10-04 166 views
1

我目前正在研究一个香草JS插件,我需要更新滚动值,所以我将一个事件侦听器附加到文档以触发一个函数,该函数应该更新上述值。“滚动”事件侦听器不工作

事情是,它在文件加载但不滚动。就好像滚动事件根本不起作用。

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

var currentPosition = 0; 

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

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

这里有一个小提琴,使其多一点明确:JSFIDDLE

我试图连接的事件监听器对身体和两窗户,它没有任何区别。

回答

1

您直接调用使用updatePosition()一个功能,那是因为你在页面启动功能火,你必须重视并使用处理器只有函数名updatePosition

代码:

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

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

+0

感谢一大堆。正确,简洁! – NicolasJEngler

+0

@NicolasJEngler乐于帮助,欢迎您! –

0
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