我正试图让介绍/启动屏幕在我的主页上每节课只出现一次。我确实使用了下面的脚本,但在最初的网站加载上运行splash/intro之前,它会快速"闪烁"主页(后续的网站加载不会显示所需的div)
我有一个div,它最初隐藏了一个.ssplash_section类&我正在运行下面包含的脚本。
问题:有没有更好的方法来编写脚本,或者只是防止主页或正文在介绍显示之前快速"闪烁"
$(document).ready(function(){
if (sessionStorage.getItem('splash') !== 'true') {
$('.splash_section').show()
sessionStorage.setItem('splash','true');
}
});
感谢您提前提供的帮助。
我最初也会使用css隐藏主页的内容:
.home-page {
display: none;
}
然后将脚本更改为:
$(document).ready(function(){
if (sessionStorage.getItem('splash') !== 'true') {
$('.splash_section').show();
sessionStorage.setItem('splash','true');
}
else {
$('.home-page').fadeIn();
}
});
由于$(document).ready
回调在解析所有页面元素时触发,因此最好将splash元素放在主体的最顶部,并在其后面运行带有该函数的脚本。这样,它将从头部加载元数据,加载splash内容,并在加载任何其他DOM元素之前立即显示它。
类似这样的东西:
<body>
<div class="splash_section"></div>
<script>
if (sessionStorage.getItem('splash') !== 'true') {
$('.splash_section').show()
sessionStorage.setItem('splash','true');
}
</script>
...