javascript - 仅显示 div(预加载器)一次 - 直到清除缓存/ session

标签 javascript jquery html cookies

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

我想要实现的是仅在用户第一次访问该页面时显示一次,然后在他们清除缓存或至少在很长的时间内不再显示。为此,我尝试使用 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();});
    });
});

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

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

如果有人能解释一下这一点,我将不胜感激,因为我有点陷入困境!

提前致谢!

最佳答案

我无法看到您在哪里为支票创建 cookie。它应该是这样的:

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

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

关于javascript - 仅显示 div(预加载器)一次 - 直到清除缓存/ session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27123881/

相关文章:

javascript - BootStrap 折叠不正确的尺寸

javascript - 如何使用 HTML 上传图片并使用 JS 在网站上进行预览?

javascript - 尝试用 JavaScript 编写计算器

javascript - 点击后返回初始状态

javascript - ajax/jQuery Youtube 播放列表推送

jquery 插件 'blockUI' 在 Firefox 中不会使屏幕变灰

JQuery 根据条件选择元素

javascript - 使用父/子和 +/- 响应按钮创建一个类似 datatables.net 示例的表

JavaScript 表单提交 - 确认或取消提交对话框

html - 按钮就像楼梯