繁体   English   中英

每次使用 jQuery 会话显示启动画面一次...加载期间主页“闪烁”

[英]Show splash screen once per session with jQuery... homepage "flashing" during load

我试图在我的主页上每个会话只出现一次介绍/启动画面。 我确实让它与下面的脚本一起工作,但它在初始站点加载上运行启动/介绍之前快速“闪烁”主页(后续站点加载不显示想要/需要的 div)

我有一个 .splash_section 类最初隐藏的 div & 我正在运行下面包含的脚本。

问题:有没有更好的方法来编写脚本,或者只是一种防止主页或正文在介绍显示之前快速“闪烁”的方法?

$(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 元素放在正文的最顶部,并在其后立即运行带有该函数的脚本。 这样,它将从头部加载元数据,加载启动内容并在加载任何其他 DOM 元素之前立即显示它。

像这样的东西:

<body>
    <div class="splash_section"></div>
    <script>
    if (sessionStorage.getItem('splash') !== 'true') {
        $('.splash_section').show()
        sessionStorage.setItem('splash','true');
    }
    </script>
    ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM