我在我创建的登陆页面上有一个预加载器(通常针对这种类型的东西买干草)。预加载器工作正常,它会显示,动画一秒钟,然后淡出显示网站。
我想要实现的是仅在用户第一次访问该页面时显示一次,然后在他们清除缓存或至少在很长的时间内不再显示。为此,我尝试使用 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/