尝试将覆盖的div重叠为fadeout,以便在用户第一次访问该网站时显示我的博客。现在每次我回到主页时它都会加载。我如何修改下面的内容,使其仅在第一次加载页面时加载,而不是每次访问主页时都加载?
<script>
var flag=true;
$(document).ready(function(){
if(flag){
setTimeout(function(){ $('#fadeout_image_div').fadeOut('slow') }, 2000);
flag=false};
//the else statement I'm not so sure about, I was trying to hide the div if the flag was set
else
$('#fadeout_image_div').css('display', 'none');
});
从逻辑上讲,我认为这样可行,但似乎并没有这样做。我不认为国旗被认出来了。每次访问主页时它仍然会淡出。 jQuery仍然相对较新,所以任何帮助都非常感谢。
答案 0 :(得分:2)
每次加载页面时都会重置JavaScript变量。我能想到的唯一选择是将值存储在cookie中:http://plugins.jquery.com/cookie/
答案 1 :(得分:1)
使用cookies存储您的旗帜 How do I set/unset cookie with jQuery? 1-得到你的旗帜:$ .cookie(&#39; myFlag&#39;) 2-如果标志未定义激活淡出效果然后设置你的标志$ .cookie(&#39; myFlag&#39;,true)
答案 2 :(得分:1)
尝试在document ready
使用sessionStorage或localStorage来检查之前是否访问过。
像:
if (localStorage.popUpShown != 'true') {
localStorage.popUpShown = 'true';
alert("ok");
setTimeout(function () {
$('#fadeout_image_div').fadeOut('slow');
}, 2000);
} else {
alert('already shown the popup');
}