Javascript Cookie以保持div可见
因此,我有一个弹出窗口供用户登录,当他们登录时,窗口关闭,父窗口重新加载,就像用户登录时应该的那样。但是,当发生这种情况时,我需要一个div保持可见(当页面加载时它通常是隐藏的)。我有以下代码,它肯定不工作(注意:我有Javascript Cookie以保持div可见,javascript,jquery,Javascript,Jquery,因此,我有一个弹出窗口供用户登录,当他们登录时,窗口关闭,父窗口重新加载,就像用户登录时应该的那样。但是,当发生这种情况时,我需要一个div保持可见(当页面加载时它通常是隐藏的)。我有以下代码,它肯定不工作(注意:我有)。我看了很多答案,但这是我第一次这样做,我遇到了麻烦。以下代码位于$(document).ready(function(){部分 window.onunload = divcookie(); function divcookie (){ if($("#div1").is(
)。我看了很多答案,但这是我第一次这样做,我遇到了麻烦。以下代码位于$(document).ready(function(){
部分
window.onunload = divcookie();
function divcookie (){
if($("#div1").is(':visible')){
$.cookie('divState', 'visible');
} else {
$.cookie('divState', 'hidden');
}
};
window.onload = vis_cookie();
function vis_cookie (){
if($.cookie('divState')=='visible'){
$("#div1").show();
};
}
这是我上面的代码:
$("#div1").hide();
$("#div1-link").on('click', function(e) {
$("#div1").toggle();
e.stopImmediatePropagation();
});
首先 如果在
$(function(){})
中执行窗口.onload
操作,则onload
已结束
下一步:如果你这样做了
window.onunload = divcookie();
divcookie
立即执行,而不是在卸载时执行…(因为()
)
onload
回调也会发生同样的情况
下一步:如果要设置cookie,则在显示div时执行该操作,然后在显示div时不打开卸载
$("#div1-link").on('click', function(e) {
$("#div1").toggle();
$.cookie("divState", "hidden");
return false;
});
感谢您的回答。问题是,当用户在div外单击以及当用户单击按钮时,div也可能被隐藏。因此我希望这样做,当窗口刷新时,它首先设置一个cookie来确定div是否可见,然后在加载时,如果cookie设置为可见,它会显示div。我想取消对代码的调整,现在可以工作了。谢谢Luke!