我想要一个简单的JavaScript代码,允许我在单击预定义的时间内隐藏某个div元素.为了提供更多信息,我在主页加载时会出现一个建议框.我想要的是当点击div关闭按钮时,它设置一个cookie以保持盒子div关闭24小时(1天).简单地说,当按下div关闭按钮时,盒子div被隐藏24小时.注意:我有一个javascript,允许关闭按钮关闭框,但它将加载每次刷新.
解决方法
虽然T.J. Crowder在他的评论中是正确的,stackoverflow不是为了编写你的代码……我为你写了一些代码.这是使用jQuery的解决方案.在其中你使用< div id =“popupDiv”> …< / div>对于消息和其中的ID为“关闭”以关闭div的链接.
$(document).ready(function() { // If the 'hide cookie is not set we show the message if (!readCookie('hide')) { $('#popupDiv').show(); } // Add the event that closes the popup and sets the cookie that tells us to // not show it again until one day has passed. $('#close').click(function() { $('#popupDiv').hide(); createCookie('hide',true,1) return false; }); }); // --- // And some generic cookie logic // --- function createCookie(name,value,days) { if (days) { var date = new Date(); date.setTime(date.getTime()+(days*24*60*60*1000)); var expires = "; expires="+date.toGMTString(); } else var expires = ""; document.cookie = name+"="+value+expires+"; path=/"; } function readCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return null; } function eraseCookie(name) { createCookie(name,"",-1); }
这是一个js小提琴:http://jsfiddle.net/FcFW2/1/.运行一次,然后再次运行.第二次弹出窗口没有显示.