Javascript 如何解决jQuery中预加载程序和会话存储的问题?
我的预加载程序有问题。我试着把它设置为每节课一次。它第一次工作,但当您刷新网站时,预加载程序根本不会停止,在我将从会话存储中删除数据之前,不可能看到网站的内容。在样式表中添加Javascript 如何解决jQuery中预加载程序和会话存储的问题?,javascript,jquery,html,css,canvas,Javascript,Jquery,Html,Css,Canvas,我的预加载程序有问题。我试着把它设置为每节课一次。它第一次工作,但当您刷新网站时,预加载程序根本不会停止,在我将从会话存储中删除数据之前,不可能看到网站的内容。在样式表中添加可见性:不可见,根本不起作用 canvas { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: #000000; z-index: 99; } 内容 if(se
可见性:不可见
,根本不起作用
canvas {
display: none;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #000000;
z-index: 99;
}
内容
if(sessionStorage.getItem('dontLoad')==null){
jQuery(“#c”).delay(1000).fadeOut('slow',function(){
jQuery(“body”).animate({
可见性:可见
}, 1000);
});
setItem('dontLoad','true');
}
问题是您需要更改CSS。我会尽力解释。
在CSS中,您已将画布设置为display:none
。在jQuery中,您尝试使用淡出
动画。这不起作用,因为元素没有显示,它基本上从文档中删除了,所以jQuery无法更改它
您需要做的是将画布设置为display:block
。因此,当用户访问网站时,“预加载程序”是可见的。然后“预加载程序”将淡出
这里是更新的CSS
canvas {
display: block;
position: fixed;
top: 0; left: 0; right: 0; bottom: 0;
background-color: #000000;
z-index: 99;
}
JavaScript
if (sessionStorage.getItem('dontLoad') == null)
{
jQuery("#c").delay(1000).fadeOut('slow', function()
{
jQuery( "body" ).animate({
visibility: visible
})
}, 1000);
}
if (sessionStorage.getItem('dontLoad') == true)
{
$('#c').css('display', 'none');
}
第一次之后它就不起作用了,因为您设置了
dontLoad
标志,以防止调用fadeOut()
。我应该使用什么来代替dontLoad?您需要重新构造HTML和CSS。他们的方式,它的设置现在加载程序将始终显示在CSS中,因此将始终隐藏在JS中