如何在onclick事件后使用cookie隐藏div?

时间:2017-01-22 04:11:46

标签: javascript html cookies

我试图在我的网站上显示通知,当访问者点击链接时我想使用Cookie隐藏通知30天。

我已经尝试了以下代码,但问题是没有保留cookie,当我重新加载页面时,我仍然可以看到通知。

<div id="disablenotification" class="container">
   <p>my message <a href="#" onclick="DisableNotification()">Got it!</a></p>
</div>


<script>
$(document).ready(function() {
   $(function() {
       function DisableNotification(){
           days=30;
           myDate = new Date();
           myDate.setTime(myDate.getTime()+(days*24*60*60*1000));
           document.cookie = 'DisableNotification=Accepted; expires=' + myDate.toUTCString();

           if ($.cookie("DisableNotification") === "Accepted") {
               $("#disablenotification").hide();
           }
        }
    });
});
</script>

以下是我用来实现此目的的jquery CDN:

<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.js"></script>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.9.1/jquery-ui.min.js"></script>

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您没有在任何地方调用函数DisableNotification。

$(document).ready(function() {
   $(function() {
       function DisableNotification(){
           days=30;
           myDate = new Date();
           myDate.setTime(myDate.getTime()+(days*24*60*60*1000));
           document.cookie = 'DisableNotification=Accepted; expires=' + myDate.toUTCString();

           if ($.cookie("DisableNotification") === "Accepted") {
               $("#disablenotification").hide();
           }
        }
        DisableNotification(); //Call the function
    });
});