请选择 进入手机版 | 继续访问电脑版

我爱自学

 找回密码
 会员注册

QQ登录

只需一步,快速开始

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

网站学习开发过程中,可能会遇到需要弹窗显示公告信息等内容的情况。本文我爱自学小编,分享通过jquery实现一天内弹窗和js原生代码实现的方法。



原理分析:要实现一个用户打开网页,一天内弹窗一次。那么打开网站的时候,判断cookie中是否有已经弹窗的标识,如果没有就弹窗,且显示完关闭后,通过cookie信息来存储已经弹窗的状态。

实现这个过程,可以用js原生代码实现,但是代码要多一些,复杂一些。也可以借助jquery实现。

方法一:借助Jquery实现弹窗

① 在网页头文件中,引入jquery.js和jquery.cookie.js两个文件。可以下载后使用本地资源链接,也可以使用CDN链接。小编在本地测试环境学习时,使用的CDN资源链接。

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

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



<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原生代码实现。方法如下:

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


点击阅读更多内容!
如果您觉得文章内容帮助到了您,不妨点点感兴趣的广告。感谢您的支持!

微信扫一扫打赏

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

手机版|小黑屋|我爱自学 ( 蜀ICP备19015358号-3 )

GMT+8, 2024-4-18 20:12 , Processed in 0.080313 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

本站大部分教程是网站原创教程,一部分教程为我爱自学(http://www.5izixue.com)编辑收集整理。

如果您需要转载我爱自学网站教程,请注明“资料来源:我爱自学(5izixue)”字样并注明本站网址。

编辑收集整理的教程版权归原作者所有,本站只提供网友交流学习使用,请勿用于商业用途,如果该文章有任何侵犯您权益的地方,请联系我们(569705694@qq.com),我们将在第一时间进行处理!谢谢您的支持!

快速回复 返回顶部 返回列表