[英]Showing div on scroll just once
就像標題說的一樣! 我讓這個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>
您可以創建一個返回true或false的變量,這是一個示例:
$(document).scroll(function () {
var y = $(this).scrollTop();
var scrolled = false;
if (y > 100 && !scrolled) {
scrolled = true;
$('#alert').fadeIn();
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.