js实现网站打开时弹窗 一天内弹窗一次
原理分析:要实现一个用户打开网页,一天内弹窗一次。那么打开网站的时候,判断cookie中是否有已经弹窗的标识,如果没有就弹窗,且显示完关闭后,通过cookie信息来存储已经弹窗的状态。
实现这个过程,可以用js原生代码实现,但是代码要多一些,复杂一些。也可以借助jquery实现。
方法一:借助Jquery实现弹窗
① 在网页头文件中,引入jquery.js和jquery.cookie.js两个文件。可以下载后使用本地资源链接,也可以使用CDN链接。小编在本地测试环境学习时,使用的CDN资源链接。
<script src=”//cdn.bootcss.com/jquery/1.12.4/jquery.js”></script>
<script src=”//cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.min.js”></script>
②、构造弹窗用到html文件结构,.pupad为弹窗的主要div窗口,类名为x的span元素,是控制弹窗关闭的按钮作用。类名为adbody的 div包裹的是弹窗图片和链接。
<div class=”pupad”>
<span class=”x”>X</span>
<div class=”adbody”><a href=””><img src=”” alt=””></a></div>
</div>
③、为弹窗添加相关的CSS样式
<style>
.pupad{
display: none;
position: fixed;
z-index: 2;
width: 319px;
height: 489px;
top:600px;
background: #fff;
left:330px;
}
.pupad .x{
float:right;
width: 20px;
height: 20px;
top:-20px;
text-align: center;
font-size: 15px;
cursor: pointer;
color:#fff;
background:#F3F3F3;
}
.pupad .x:hover{
display: block;
color: red;
}
</style>
④、在弹窗div标签后,加入javascript脚本标签<script language=”javascript”></script>输入以下jquery代码
代码说明:判断cookie中弹窗是否被点击了关闭,如果没有那么就是第一次弹窗。.show()让弹窗区域显示。 检测关闭按钮是否有被点击,点击时将隐藏弹窗区域,同时存储cookie,并设置有效期为一天。
<script language=”javascript”>
$(function() {
if($.cookie(“isClose”)!=’yes’)
{
$(“.pupad”).show();
$(“.pupad .x”) .click (function() {
$(this).parent().fadeOut(500);
$.cookie(“isClose”,’yes’,{expires:1});
});
}
});
</script>
以上是jquery实现方法,但是discuz中由于占用了jquery标识符,有时用$获取元素,不能生效。因此,可以考虑用js原生代码实现。方法如下: