隐藏 div 24hr cookie javascript? [关闭]

Posted

技术标签:

【中文标题】隐藏 div 24hr cookie javascript? [关闭]【英文标题】:Hide div 24hr cookie javascript? [closed] 【发布时间】:2012-05-27 07:48:44 【问题描述】:

我想要一个简单的 javascript 代码,它允许我在单击某个 div 元素预定义的时间后隐藏它。为了提供更多信息,我在主页加载时出现了一个建议框。我想要的是,当单击 div 关闭按钮时,它会设置一个 cookie 以保持框 div 关闭 24 小时(1 天)。简单来说,当按下 div 关闭按钮时,box div 会被隐藏 24 小时。注意:我有一个 javascript 允许关闭按钮关闭框,但它会加载每次刷新。


http://i.stack.imgur.com/du1pA.jpg

【问题讨论】:

欢迎来到 Stack Overflow! SO 用于提出问题,而不是要求人们为您编写代码。如果您在上述方面做出了努力并遇到了麻烦,请提出相关问题(显示您的代码),人们会很乐意提供帮助。 听起来更像是一个请求,而不是一个问题本身。 【参考方案1】:

虽然 T.J. Crowder 在他的评论中是正确的,*** 不是在这里编写代码的……我为你写了一些代码。这是一个使用 jQuery 的解决方案。在其中,您将使用 <div id="popupDiv">...</div> 作为消息并在其中使用 ID 为“close”的链接来关闭 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/。运行一次,然后再次运行。第二次弹出不显示。

【讨论】:

blah.js 是我保存这些数据的文件吗? 我不确定你的意思?具体是什么数据。如果您的意思是如何处理此代码:创建一个 .js 文件并将其包含在您的页面中。确保弹出窗口和关闭按钮的 id 匹配。 该代码似乎不起作用 嗯,它对我有用:jsfiddle.net/FcFW2/1。确保添加 #popupDiv display: none; ​ 以便弹出窗口最初始终不可见。 这是一个 javascript 链接没有添加,我在隐身模式下查看并认为它现在可以工作了,我非常感激,如果你想看看 www.computersolutions.spruz.com我是关于【参考方案2】:

这应该让你开始:http://www.quirksmode.org/js/cookies.html

以下示例使用上述链接中声明的函数。

创建一个 cookie:

// when the div is clicked
createCookie('hideSuggestionBox', 'true', 1);

读取 cookie:

// when deciding whether to show or hide the div (probably on document ready)
if (readCookie('hideSuggestionBox') === 'true') 
    // do not show the box, the cookie is there
 else 
    // the cookie was not found or is expired, show the box

【讨论】:

以上是关于隐藏 div 24hr cookie javascript? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

javascript 使用Cookie隐藏元素24小时

CF7 表单提交成功后永久隐藏 Div,直到缓存或 cookie 被清除

切换状态 Cookie 设置成功,但是没有 cookie 存在时的行为呢?

用cookie实现tips组件的显示或隐藏

如何选择要显示和存储为 cookie 或 localstorage 的 div?

JS使用cookie实现DIV提示框只显示一次的方法