我希望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