【问题标题】:Show div (preloader) only once - until cache/session is cleared仅显示一次 div(预加载器) - 直到缓存/会话被清除
【发布时间】:2014-11-25 10:11:52
【问题描述】:

我在我创建的登陆页面上有一个预加载器(通常针对这种类型的东西买干草)。预加载器工作正常,它显示、动画一秒钟然后淡出显示网站。

我想要实现的是只显示一次,当用户第一次访问该页面时,然后再不会再次显示,直到他们清除缓存或至少在很长的时间范围内。为此,我尝试使用 jquery-cookie (https://github.com/carhartl/jquery-cookie) - 但我无法让它工作,每次刷新页面时它仍然显示。我正在使用的标记/脚本如下...

HTML:

<div id="preloader">
    <span></span>
</div>    

原始 JS(每次访问页面时显示):

jQuery(document).ready(function($) {
    $(window).load(function(){
        $('#preloader').delay(1200).fadeOut(800,function(){$(this).remove();});
    });
});

新的 JS(不工作)尝试使用 cookie:

$(document).ready(function($) {
    if ($.cookie('noPreloader')) $('#preloader').hide();
        else {
            $(window).load(function(){
            $('#preloader').delay(1200).fadeOut(800,function(){$(this).remove();});
        });
    }
});

如果有人能对此有所了解,我将不胜感激!

提前致谢!

【问题讨论】:

    标签: javascript jquery html cookies


    【解决方案1】:

    我看不到您为支票创建 cookie 的位置。应该是这样的:

    if (!$.cookie('noPreloader')) {
      // show your preloader
      ...
      // and now we create 1 year cookie
      $.cookie('noPreloader', true, {path: '/', expire: 365});
    }
    

    请注意 - 在我的示例中,您的块假设在加载时隐藏。之后再展示(因为您只想展示第一次)。

    【讨论】:

    • 谢谢你的回答,你的权利我肯定错过了一些东西,但我仍然无法让它工作:s
    • 根据我的回答 - 你需要隐藏你的元素(显示:无;就足够了​​)。如果你需要展示你的元素。有点像这样 - $('#preloader').show();之后,您需要使用淡出添加您的功能
    • 非常感谢!我现在已经开始工作了 - 我将在下面发布我的代码以供参考。希望它对其他人也能派上用场:)
    【解决方案2】:

    非常感谢 UtherTG 的帮助!这是我为其他试图实现类似目标的其他人编写的最终脚本......

    $(document).ready(function($) {
    
        if ($.cookie('noPreloader'))
        {
            $('#preloader').hide();
        } 
        else 
        {
            $(window).load(function() {
                $('#preloader').delay(1200).fadeOut(800,function() {
                    $(this).remove();
                });
            });
    
            // and now we create 1 year cookie
            $.cookie('noPreloader', true, {path: '/', expire: 365});
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-08
      • 1970-01-01
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      • 2017-04-25
      相关资源
      最近更新 更多