Javascript JS-滚动显示模式,并防止关闭后再次显示

Javascript JS-滚动显示模式,并防止关闭后再次显示,javascript,jquery,Javascript,Jquery,我有一个模式,在滚动后显示,并在页面顶部消失。但是,我希望如果我按下它的关闭按钮,它不会再次显示。现在,如果我关闭模态,它会一次又一次地显示出来,这很烦人 $(document).scroll(function () { var y = $(this).scrollTop(); if (y > 400) { $('#modal-name').css({"display":"block"}); } else { $('#modal-na

我有一个模式,在滚动后显示,并在页面顶部消失。但是,我希望如果我按下它的关闭按钮,它不会再次显示。现在,如果我关闭模态,它会一次又一次地显示出来,这很烦人

$(document).scroll(function () {
    var y = $(this).scrollTop();
    if (y > 400) {
        $('#modal-name').css({"display":"block"});
    } else {
        $('#modal-name').fadeOut();
    }
});
$(document).ready(function() {
    $(".close-modal, .modal-sandbox").click(function(){
        $(".modal").css({"display":"none"});
    });
});
使用标志shouldDisplayModal并将其保存到window.localStorage,如下所示:


关闭时,将值存储到。然后,在显示模式之前,检查该值,如果该值存在,则不显示该值。只需使用cookies。@SvSv不使用cookies,请使用localStorage。Cookies随每个HTTP请求一起发送,这是完全不必要的。Cookie应该用来保存服务器和客户端之间的状态,实际上我想不出任何其他东西。当你重新加载窗口时?OP似乎暗示他们想要持久性。
var shouldDisplayModal = localStorage.getItem("shouldDisplayModal") == null ? (localStorage.setItem("shouldDisplayModal", true) || localStorage.getItem("shouldDisplayModal")) : localStorage.getItem("shouldDisplayModal");

$(document).scroll(function () {
  if (shouldDisplayModal) {
    var y = $(this).scrollTop();
    if (y > 400) {
        $('#modal-name').css({"display":"block"});
    } else {
        $('#modal-name').fadeOut();
    }
  }
});
$(document).ready(function() {
    $(".close-modal, .modal-sandbox").click(function(){
        $(".modal").css({"display":"none"});
        localStorage.setItem("shouldDisplayModal", false);
    });
});