2012-11-10 35 views
1

所以我有这个功能来关闭消息警报(弹出式模型)。这是应该的。非常简单的jQuery。但是,我试图添加一个cookie,当用户关闭弹出式模型时,如果他们在同一个会话中再次访问该页面,模型将不会再弹出。我希望Cookie在浏览器关闭后过期或删除。不能让它工作,但是...我做错了什么?我的jQuery Cookie不工作DIV隐藏

我使用这个脚本: https://github.com/carhartl/jquery-cookie

// Update Prompt: Hide on 'X' click 
function setsomecookie(){ // adds cookie 1 day 
    $.cookie('message_prompt', 'prompt_closed'); 
}  
$('.updateCloseBTN').click(function() { 
    $('.upgradeWrap').fadeOut(400, setsomecookie); 
}); 
+0

嘿,这是你了!什么是你的代码来读取cookie? – VIDesignz

+0

你绝对设置它的权利,我认为问题是当它比较 – VIDesignz

+0

我是bacccckkk哈哈。是的,这让我疯狂。相比...? –

回答

1

我会设置为“#message_alert_box”启动{显示:无;}在你的CSS

然后,当用户从页转到页,您需要验证如果cookie有具体的价值

$(document).ready(function(){ 

    if($.cookie('message_prompt') != 'prompt_closed') { 

     $('#message_alert_box').show(); // If the cookie isn't set to 'prompt_close' , then show the alert box 

    } 

}); 
+0

好的,所以只需将其添加到相同的js文件? (它在每一页上都被加载) –

+0

@MikeBarwick正确! – VIDesignz

+0

听起来不错。让我测试......显示:当然没有!已经在那了。 FadeOut()不会没有。 ;) –

0

确保您的文档被包裹在document.ready()功能。

$(document).ready(
    //all body code within here. 
}); 
+0

请原谅我在手机上的格式。 –

+0

已经有了那个人......我得到了jQuery的基础知识。这个函数运行在一个文档准备好的js文件中,它有一些其他的功能。我们不要专注于此。 ;) –