簡體   English   中英

滾動一次顯示div

[英]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.

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