Javascript 仅显示一次div(预加载)-直到清除缓存/会话

Javascript 仅显示一次div(预加载)-直到清除缓存/会话,javascript,jquery,html,cookies,Javascript,Jquery,Html,Cookies,我在我创建的登录页上有一个预加载程序(通常是针对这种类型的东西)。预装器工作正常,它显示,动画一秒钟,然后淡出显示网站 我想实现的是只在用户第一次访问页面时显示一次,然后在清除缓存之前,或者至少在很长的时间内,再也不会显示。为此,我尝试使用jQueryCookie()——但我无法让它工作,每次刷新页面时它都会显示出来。我正在使用的标记/脚本如下所示 HTML: <div id="preloader"> <span></span> </div>

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

我想实现的是只在用户第一次访问页面时显示一次,然后在清除缓存之前,或者至少在很长的时间内,再也不会显示。为此,我尝试使用jQueryCookie()——但我无法让它工作,每次刷新页面时它都会显示出来。我正在使用的标记/脚本如下所示

HTML:

<div id="preloader">
    <span></span>
</div>    
jQuery(document).ready(function($) {
    $(window).load(function(){
        $('#preloader').delay(1200).fadeOut(800,function(){$(this).remove();});
    });
});
$(document).ready(function($) {
    if ($.cookie('noPreloader')) $('#preloader').hide();
        else {
            $(window).load(function(){
            $('#preloader').delay(1200).fadeOut(800,function(){$(this).remove();});
        });
    }
});
尝试使用cookie的新JS(不工作):

<div id="preloader">
    <span></span>
</div>    
jQuery(document).ready(function($) {
    $(window).load(function(){
        $('#preloader').delay(1200).fadeOut(800,function(){$(this).remove();});
    });
});
$(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});
}

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

非常感谢您的帮助!这是我的最后一个剧本,是给那些试图实现类似目标的人的

$(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});
    }
});

谢谢你的回答,你的权利,我肯定错过了一些东西,但我仍然无法让它工作:基于我的回答-你需要使你的元素隐藏(显示:无;将足够)。在中,如果需要显示元素。有点像这样-$('#preload').show();之后,你需要添加你的功能与淡出汉克斯很多,!我现在已经开始工作了-我将在下面发布我的代码以供参考。希望它对其他人也有用:)