簡體   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