0

我试图只在用户登陆主页时淡入 div 一次。例如,当您登陆站点时,“站点主页标题”会淡入,您将导航到“关于”、“联系”页面等,但是当您再次单击主页时,“站点主页标题”不会​​淡出在。

所以在我刚刚得到的 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 再次淡入吗?

4

2 回答 2

1

如果旧浏览器是个问题,你需要 cookie,这里有一个很好的 jQuery 插件

否则我会选择 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
    }
}

小提琴

于 2012-08-05T01:30:57.037 回答
0

根据您使用的后端,您可以检查是否已设置会话或其他 cookie,如果不存在则淡入。

由于您使用的是 jQuery,因此有一种简单的方法可以设置/获取您自己的 cookie。我整理了一个快速的jsfiddle来向您展示一个示例。

编辑:我应该提一下,这个解决方案需要jquery-cookie插件。如果您希望它在第一次加载后永久显示而没有淡入,只需将 css display 属性设置为 block(假设您首先使用 css 将其隐藏):

$('#home-title').css('display', 'block');

这是一个更新的小提琴

于 2012-08-05T01:31:07.303 回答