正如标题所说!我让这个 div 出现在滚动条上,并且我有代码,但我希望该操作仅发生一次。如果我决定关闭 div(这是一个警报)并再次向下滚动,则不会再次发生。我怎样才能实现这个目标?
我已经阅读了我能找到的所有内容,但由于我是新手,所以这对我来说太困惑了,无法理解。
无论如何,这是我到目前为止的代码:
$(document).scroll(function () {
var y = $(this).scrollTop();
if (y > 100) {
$('#alert').fadeIn();
}
});
我需要添加什么? 谢谢!
最佳答案
如果你设置了一个标志变量来查看它是否已经设置。我会使用 .data
来避免变量名称冲突。
$(document).scroll(function () {
var y = $(this).scrollTop();
if (y > 100 && !$(this).data("once")) {
$('#alert').fadeIn();
$(this).data("once", true);
console.log("invoked once");
}
});
body {
height:700px;
}
#alert {
bottom:70px;
position:fixed;
display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="alert">test</div>
关于javascript - 仅在滚动上显示一次 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43381387/