我制作了一个盒子,它适用于Jquery。这是Jquery的代码:
$(function(){
setTimeout(function(){
$('.fade').show();
$('.form').show();
},2000)
$('.closebtn').click(function(){
$('.fade').hide();
$('.form').hide();
})
})
这是HTML的代码
<div class="fade"></div> <div class="form"></div> <div class="closebtn"><a href="#">x</a></div>
一旦用户点击closebtn
div,然后刷新页面后,淡入淡出和表单将不会显示24小时。但仅针对点击“closebtn”的特定用户。
Fade和Form不应该在该特定IP地址或计算机上或该人的计算机的浏览器中工作24小时。如果从任何其他计算机打开网页,则可以打开淡入淡出和表单。
但即使在该计算机上用户点击“closebtn”,也不会在接下来的24小时内在该计算机上打开Fade和Form。
答案 0 :(得分:1)
你可以使用Jquery Cookie插件并设置一个名为hideFormAndFade
的cookie,它会在24小时后到期,这里逻辑在页面加载时从cookie获取值,如果它显示{{1然后将它们隐藏起来,然后显示。
这是代码。
下载插件后,请将其包含在您的页面中。
true
在脚本中你可以做到
<script src="/path/to/js.cookie.js"></script>
通过这种方式,您还可以随时灵活地在cookie上设置$(function(){
var flag = Cookies.get('hideFormAndFade');// this returns value if set else undefined if cookie not found
if(flag && flag != "true"){ // if cookie found and if cookie value is not true
setTimeout(function(){
$('.fade').show();
$('.form').show();
},2000);
}
$('.closebtn').click(function(){
$('.fade').hide();
$('.form').hide();
Cookies.set('hideFormAndFade', true, { expires: 1 }); // 1 is 1 day
});
});
。这将删除功能
答案 1 :(得分:0)
嗯,你可以用jQuery或简单的JavaScript来做,但我同意这应该是服务器端处理的评论。
无论哪种方式,你所要做的就是创建一个在一天内到期的Cookie,并在显示模态时检查它是否存在。
有关客户端Cookie处理的详细说明,请参阅this question。
我在我的示例代码中使用了jQuery-cookie,正如参考问题所推荐的那样。
$(function(){
setTimeout(function() {
// check the Cookie here
if (!$.cookie("modal"))
$('.fade, .form').show();
}, 2000)
$('.closebtn').click(function(){
$('.fade, .form').hide();
// add Cookie here
$.cookie("modal", true, { expires : 1 });
})
});
您也可以使用服务器端元标记条件写入,浏览器上的本地存储或其他几种方式。