【发布时间】:2014-09-28 14:15:05
【问题描述】:
我正在尝试使用 Javascript 在网页上只显示一次弹出窗口。
所以在页面加载时,我创建了一个 cookie。然后我有一个 if 语句——如果已经制作了 cookie,我不希望显示弹出窗口——所以我将其淡出。 (有没有更好的方法让它根本不出现?)
I have created a codebox here.
这里的JS,它所针对的两个区域都是简单的div:
$(document).ready(function(){
var visited = $.cookie('visited'); // create the cookie
if (visited == 'yes') {
$("#popup").fadeOut();
$("#popup").fadeOut();
}
else
{
$("#hover").click(function(){
$(this).fadeOut();
$("#popup").fadeOut();
});
$("#close").click(function(){
$("#hover").fadeOut();
$("#popup").fadeOut();
});
$.cookie('visited', 'yes', {
expires: 7 // the number of days the cookie will be effective
});
}
});
不幸的是,似乎没有任何 Javascript 运行 - 每次用户导航到该页面时,弹出窗口将不再关闭或识别点击和显示。
我在这里做错了什么,我该如何解决?
【问题讨论】:
-
我建议您在缺少的 cookie 上使用 fadeIn(),而不是在现有 cookie 上使用 fadeOut。您的代码看起来不错,除了两条
$("#popup").fadeOut();行 - 其中一条可能应该是#hover,但我们需要查看 html 部分以获得更好的答案
标签: javascript jquery html cookies web