js实现网站打开时弹窗 一天内弹窗一次

overme2个月前 (10-17)网页设计139

原理分析:要实现一个用户打开网页,一天内弹窗一次。那么打开网站的时候,判断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原生代码实现。方法如下:

游客,如果您要查看本帖隐藏内容请回复

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。