簡體   English   中英

使用添加事件監聽器創建滾動事件-Javascript

[英]Create a Scroll Event with add Event Listener - Javascript

我正在嘗試在Vanilla JS中實現某些目標,但沒有發揮作用。 我有一個元素,我想在一定的滾動長度后更改顏色,但是當我使用addEventListener('scroll',function)等時,它不起作用,但是在控制台中沒有出現任何錯誤。
任何幫助都是極好的。

艾米莉

代碼在下面,我在這里有一支筆: https : //codepen.io/emilychews/pen/eRYwzm

的HTML

<div class="box"></div>

的CSS

body {height: 200vh;}

.box {
  width: 200px;
  height: 200px;
  background: red;
}

JAVASCRIPT

var box = document.getElementsByClassName('box')[0];

window.addEventListener('scroll', function() {

  if (box.scrollTop > 0) {
    box.style.background = "blue";
  }

});

您必須在文檔body元素上而不是在框上獲取scrollTop 在您的情況下, box.scrollTop將始終為0

替換為:

  if (box.scrollTop > 0) {
    box.style.background = "blue";
  }

有了這個:

  if (document.body.scrollTop > 0) {
    box.style.background = "blue";
  }

還要注意,到目前為止,最好在嚴格模式下使用window.pageYOffset,因為document.body.scrollTop已棄用。 閱讀本文以了解有關整個窗口上滾動檢測的更多信息。

演示: https : //codepen.io/anon/pen/mwdZwL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM