Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Cookie以保持div可见_Javascript_Jquery - Fatal编程技术网

Javascript Cookie以保持div可见

Javascript Cookie以保持div可见,javascript,jquery,Javascript,Jquery,因此,我有一个弹出窗口供用户登录,当他们登录时,窗口关闭,父窗口重新加载,就像用户登录时应该的那样。但是,当发生这种情况时,我需要一个div保持可见(当页面加载时它通常是隐藏的)。我有以下代码,它肯定不工作(注意:我有)。我看了很多答案,但这是我第一次这样做,我遇到了麻烦。以下代码位于$(document).ready(function(){部分 window.onunload = divcookie(); function divcookie (){ if($("#div1").is(

因此,我有一个弹出窗口供用户登录,当他们登录时,窗口关闭,父窗口重新加载,就像用户登录时应该的那样。但是,当发生这种情况时,我需要一个div保持可见(当页面加载时它通常是隐藏的)。我有以下代码,它肯定不工作(注意:我有
)。我看了很多答案,但这是我第一次这样做,我遇到了麻烦。以下代码位于
$(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!