使用 jQuery 每个会话显示一次初始屏幕...主页 加载期间"flashing"



我正试图让介绍/启动屏幕在我的主页上每节课只出现一次。我确实使用了下面的脚本,但在最初的网站加载上运行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>
    ...

相关内容

最新更新