我希望div #topmessage在用户第二次访问该网站时向下滑动.此外,当用户单击#close时,将不再显示该消息.我想我必须设置一个cookie并计算它但不确定如何.我有以下cookie插件与 jquery http://plug
<script type="text/javascript">
jQuery(function($){
$('#topmessage').delay(1000).slideDown(400);
$("#close").click(function(){
$("#topmessage").slideToggle(400);
});
});
</script>
<div id="topmessage">
<a href="#" class="close" id="close">Close</a>
Hi welcome back, if you have any questions please feel free to <a href="/contact">contact me</a>.
</div>
更新:我想这样做的原因是将div推送到访问过该网站一次的用户,现在又在另一个日期返回.我不只是想第二次加载网站时显示div,但它也必须在另一个日期或会话上.据我所知,无法访问cookie的创建日期?
这应该工作:<script type="text/javascript">
$(function(){
var value = $.cookie('the_cookie'),
date = null;
if (/^\d+$/.test(value || "")) {
date = new Date();
date.setTime(value);
} else if ((value || "") == "") {
$.cookie('the_cookie', new Date().getTime());
}
if (null != date /* && date meets your requirements */){
$('#topmessage').delay(1000).slideDown(400);
$("#close").click(function(){
$("#topmessage").slideToggle(400);
});
}
});
</script>
如果您想在每次访问时更新cookie中的日期:
if (/^\d+$/.test(value || "")) {
date = new Date();
date.setTime(value);
}
$.cookie('the_cookie', new Date().getTime());
工作演示:http://jsfiddle.net/roberkules/NL9jd/
UPDATE
添加了到期日期和cookie的路径为会话添加了第二个cookie
