设置 cookie 以在单击按钮时隐藏 div

2024-01-02

我正在尝试显示默认显示的 div(包含条款和条件),除非设置 cookie 来隐藏它。

我已将我的代码添加到此处JSFiddle http://jsfiddle.net/v6ddf/

有什么想法为什么我的代码不起作用吗?

JavaScript

    function TermsAndConditions(){
   days=30;
   myDate = new Date();
   myDate.setTime(myDate.getTime()+(days*24*60*60*1000));
   document.cookie = 'TermsAndConditions=Accepted; expires=' + myDate.toGMTString();
}
if ($.cookie("TermsAndConditions") !== Accepted)
{
    $("#terms-and-conditions").hide();
} 

HTML

  <h1>Terms and Conditions</h1>
    <p>Example Content</p>

  <span class="accept-button"><a href="#" onclick="TermsAndConditions()">Accept</a></span></div

>

你的剧本发生了很多事情。

马克让你有了正确的开始:不引用Accepted不会让 JavaScript 高兴;字符串文字必须有引号。

其次,您的 jsFiddle 没有链接 jQuery。在屏幕左侧的“框架和扩展”下,确保您选择了 jQuery 的版本。

第三,jQuery没有内置的$.cookie方法;有一些扩展可以提供这一点,但它不是默认的 jQuery。如果您使用 jQuery 插件,您是否也会使用它来设置 cookie?相反,您可以使用本机浏览器扩展来设置 cookie。

第四,由于 jsFiddle 的工作方式,如果不进行一些操作,您就无法从 HTML 中调用 JavaScript 方法。最好在 JavaScript 中附加适当的功能。

因此,要获取 cookie,您可以这样做:

var cookie = document.cookie.split(';')
    .map(function(x){ return x.trim().split('='); })
    .filter(function(x){ return x[0]==='TermsAndConditions'; })
    .pop();

如果 cookie 存在,它将是一个键/值数组。然后您可以检查以确保它存在并包含您要查找的值:

if(cookie && cookie[1]==='Accepted') {
    $("#terms-and-conditions").hide();
}

然后我们将点击功能从 HTML 移至 JavaScript 中:

$('.accept-button a').on('click', function(){
    TermsAndConditions();
    return false;
}); 

这是一个适合您的 jsFiddle:http://jsfiddle.net/3d928/1/ http://jsfiddle.net/3d928/1/

请注意,在您原来的示例中,您没有隐藏#terms-and-conditions用户单击链接时的元素;您所做的只是设置 cookie。因此,在用户重新加载页面之前,它不会被隐藏。如果您想同时执行这两种操作,只需将元素隐藏在单击处理程序中即可:

$('.accept-button a').on('click', function(){
    TermsAndConditions();                   // set cookie
    $("#terms-and-conditions").hide();      // hide element
    return false;
}); 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置 cookie 以在单击按钮时隐藏 div 的相关文章

随机推荐

  • 在 C++ 中创建只读(公共)类成员

    我有像 Actionscript 3 这样的语言背景 我们有一种特殊的方式将成员变量定义为实例和设置 获取受保护或私有成员的值的方法 让我举个例子吧 在一个类中 我们可以这样说 private var myString String pub
  • python子进程的自定义标准输入

    我正在运行这样的 SSH 进程 sshproc subprocess Popen command shell True exit os waitpid sshproc pid 0 1 这将起作用并打开一个交互式终端 基于以下文档subpro
  • 过滤以获取嵌套文档的长度与数字匹配的文档

    我有一个弹性搜索索引 其中有一个名为的嵌套对象平台类 it 子文档的数量可以有所不同 如下所示 action clean plateformes plateforme myplateforme1 status failure platefo
  • 什么是 paddingStart 和 paddingEnd?

    当我编写 xml 布局文件时 Eclipse 的自动完成框几次会建议 android paddingStart android paddingStop 我真的不明白这些属性应该做什么 eclipse javadoc 文档并不是很有帮助 Se
  • 无法为包装函数添加完美转发

    回答的同时这个问题 https stackoverflow com q 25392935 3821804我写了这个working代码 包装在模板参数中传递的函数 template
  • 如何使用mockito/powermock模拟Google的地理编码API请求?

    我想使用mockito powermock对该方法进行单元测试 Service public class GoogleApiService private static final Logger logger LoggerFactory g
  • 我可以在 jQuery 中缓存 $(window) 和 $(document) 吗?

    我最近阅读了一些有关 jQuery 性能的文章 并提出了一些奇怪的问题 我可以 应该缓存吗 window 如果我这么做了 会不会有影响resize scroll width scrollTop etc 我可以 应该缓存吗 document
  • 为什么我的 mt19937 随机生成器给出了荒谬的结果? C++

    在另一个项目上工作 我们需要使用mt19937用于随机生成数字 我们应该让它根据网格的部分随机选择 x 和 y 坐标 例如 我的函数通过minX maxX minY maxY到一个函数 我的 x 坐标工作正常 我在测试运行时不断随机出现错误
  • TabLayout 标头隐藏片段中 ListView 上的第一项

    我的 Android 技能有点生疏 我希望有人可以帮助我 我有一个TabLayout with a ViewPager滑动相同的Fragment具有不同的数据ListView 一切工作正常 但我有一个问题 选项卡标题文本隐藏了一部分Frag
  • Django 模型:添加日期索引,降序顺序

    我试图让 Django 模型在日期字段上按降序 DESC 顺序创建索引 但我找不到方法来做到这一点 基本上 我需要执行类似以下 SQL 的操作 在 Posgres 中 CREATE INDEX idx name ON table date
  • UITableViewCell设置文本

    我正在创建示例 hello world 应用程序 代码如下 我怎样才能删除 c cell setText Hello World 处发出警告 在下面的代码中 因为它已弃用 UITableViewCell cell tableView deq
  • ASP.NET CORE 文件上传问题

    我有一个适用于 chrome 的文件上传代码 但对于 IE 会抛出以下错误 IOException 该进程无法访问文件 路径 文件名 因为它正在被另一个进程使用 System IO Error WinIOError int errorCod
  • python排序的空间复杂度是多少?

    python排序需要多少空间复杂度 我在任何地方都找不到这方面的任何明确文档 空间复杂度定义为算法需要多少额外空间N元素 并且尽管根据docs https docs python org 3 library stdtypes html li
  • 无需规则即可创建目标 .moc

    我正在尝试将 ovpn3 的 ovpncli 示例转换为从 QObject 派生的类 我无法将源文件转换为单独的接口 h 和实现 cpp 文件 为了让 MOC 高兴 我把 include openvpn moc 在 openvpn cpp
  • 在 List/ObservableCollection 中维护集合

    我已经成功地将一个项目添加到 MVVM 中的列表中 现在我的问题是在视图模型中维护列表 每次我导航到页面或返回页面并返回到该列表视图时 列表都会重置 我怎样才能做到这一点 我目前正在使用 prism 来构建 MVVM 视图模型 public
  • 如何在 props 中传递 HTML 标签

    我希望能够传递带有 HTML 标签的文本 如下所示
  • 用于缓解 Logjam/weakdh.org 的正确 JBoss EAP 6.0.1 密码套件配置是什么?

    由于堵塞和网站的关注https weakdh org https weakdh org 最近几天收到 Logjam Diffie Hellman 在实践中如何失败 我决定强化 JBoss EAP 6 0 1 系统上的 SSL 配置 如下所述
  • 使用带有无趣回溯的 iOS 4.3 模拟器的 iOS SIGKILL

    只关心我自己的事情 iOS 应用程序在模拟器中运行 没有做任何非常有趣的事情 只是在视图控制器之间移动 然后暂停 然后 KABLAMMO 我立即查看了所有线程的回溯 见下文 但我没有看到任何特别重要的事情 gdb t a a bt Thre
  • 缓存矩阵的逆矩阵

    晚安 我有一个 Coursera 的作业 但我有两天时间试图解决我的问题 我的作业是 编写以下函数 makeCacheMatrix 该函数创建一个特殊的 矩阵 对象 可以缓存其逆矩阵 cacheSolve 该函数计算上面 makeCache
  • 设置 cookie 以在单击按钮时隐藏 div

    我正在尝试显示默认显示的 div 包含条款和条件 除非设置 cookie 来隐藏它 我已将我的代码添加到此处JSFiddle http jsfiddle net v6ddf 有什么想法为什么我的代码不起作用吗 JavaScript func