当用户登陆主页时,我正试图仅将div淡化为ON。例如,“站点主页标题”在您登陆网站时淡入,您将导航到“关于”,“联系”页面等,但当您再次单击主页时,“站点主页标题”将不会淡出in。
所以在div上我刚刚得到:
$('#home-title').fadeIn(500);
所以我的问题是,现在每当你进入主页时,它总是会消失它......很明显,因为这就是代码告诉它要做的事情。但是我添加了什么,所以只有在你第一次登陆主页时才会发生一次?
[抱歉!更详细的描述]
我有这个:
$(document).ready(function() {
$('.faded').hide();
});
$(window).load(function() {
$(".faded").each(function(i) {
$(this).delay(i * 500).fadeIn();
});
}
所以.faded只附加到主页上的div。我想知道jQuery是否有可能认识到如果它在其他一个页面上,并且你点击回到主页 - 它已经在元素中消失了,因此不需要再次执行。但是,如果用户关闭浏览器或完全离开网站但回到它,我们可以让.faded div再次淡入?
答案 0 :(得分:1)
如果旧浏览器存在问题,您需要使用Cookie,并且有一个很好的jQuery插件here!
否则我会去localStorage,因为它更容易处理:
var elem = $('#home-title');
if (elem.length) { //you're on the first page
if (!sessionStorage.getItem('HasVisitedFirst')) { //check if we have been here
elem.fadeIn(500); //if not, fade in
sessionStorage.setItem('HasVisitedFirst',true);//and set a value to remember
}
}
答案 1 :(得分:0)
根据您使用的后端,您可以检查是否已设置会话或其他Cookie,如果不存在则为fadeIn。
由于您正在使用jQuery,因此可以通过一种简单的方法来设置/获取自己的cookie。我已经快速组合jsfiddle向您展示了一个例子。
编辑: 我应该提一下,这个解决方案需要jquery-cookie插件。如果你想让它在第一次加载后没有fadeIn永久显示,只需将css显示属性设置为阻塞(假设你首先使用css隐藏它):
$('#home-title').css('display', 'block');