所以我绝对是js的初学者,这可能很简单,但我不知道为什么这不起作用。 我试图在页面Y偏移量大于30时显示div,但它不起作用。
// js低于
var x = document.getElementById('play');
var ypos = window.pageYOffset;
var see = function() {
if (ypos > 30) {
x.style.opacity = 1;
} else {
console.log('not working');
}
}
window.addEventListener("scroll", see);
答案 0 :(得分:3)
因为初始ypos是0.它没有更新。无论你向下滚动多少,它都会一直保持为零。要更新它,它应该在see()函数内部。所以每次向下滚动窗口,它将被更新。 它正在工作 。不要把它与“不工作”语句混淆。它只是因为,ypos变量被分配给同一个“ 0“value。看看我的例子。我已经改变了它。当ypos>30
var x = document.getElementById('play');
var see = function() {
var ypos = window.pageYOffset;
if (ypos > 30) {
x.style.opacity = '0.4';
} else {
alert('scrolled more than 30 !!');
}
}
window.addEventListener("scroll", see);
<div style='width:600px;height:2000px;background:red;border:1px solid black;' id='play'>lol</div>