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);
});
});