开发者

Simple Javascript/JQuery Cookie Question

开发者 https://www.devze.com 2022-12-16 21:33 出处:网络
I\'ve got an animation that I want to play only once and I figured that since the animation was in JQuery, the function to write 开发者_如何学运维the cookie file should be as well.

I've got an animation that I want to play only once and I figured that since the animation was in JQuery, the function to write 开发者_如何学运维the cookie file should be as well.

So far I've got:

$(document).ready(function(){

if (!$.cookie('cookieName'))
 {
    setTimeout(function() {    
    $('#intro').fadeOut(1000); 
 }, 5000);
};

$.cookie('cookieName', 'the_value');

});

I guess I was thinking this was going to check to see if there was a cookie and if not then play the animation. When that was done it writes a cookie and so when I come back to the page it doesn't play. I'm calling the Klaus Hartl cookie plugin and for some reason this just isn't doing it for me.

Much appreciated.


I took a look at the code for that plugin. I think you might need to specify options and the expiry when you create the cookie. Something like this:

   var date = new Date();
   date.setTime(date.getTime() + (3 * 24 * 60 * 60 * 1000));
   $.cookie(COOKIE_NAME, 'test', { path: '/', expires: date });

Code ripped off the plugin site :) - http://stilbuero.de/jquery/cookie/


I would download the Web Developer toolbar for Firefox and use it to examine the cookies. Can you see it being made locally?

It could also be, if 'the_value' is something falsy, it won't work. For example, if the value was '0', I think that would evaluate to false.


try

alert($.cookie('cookieName')); 

and see if it has a value on it.

or

have you tried

if($.cookie('cookieName') == null) { 
// do your thing
// then set cookie and put a great amount of days in the expire param
}
0

精彩评论

暂无评论...
验证码 换一张
取 消