JS使用cookie实现只出现一次的广告代码效果


Posted in Javascript onApril 22, 2017

我们上网经常会遇到第一次需要登录而之后不用再登录的网站的情况,其实是运用了Cookie 存储 web 页面的用户信息,Cookie 以名/值对形式存储,当浏览器从服务器上请求 web 页面时, 属于该页面的 cookie 会被添加到该请求中。服务端通过这种方式来获取用户的信息l。

今天的这个效果:第一次打开网页弹出一个广告框(js实现卷帘效果),关闭广告或刷新页面之后就不会再出现。由于往电脑里写cookie信息是服务器行为,只有访问网站,服务器才会向电脑里写cookie信息,由于现在只是普通网页,所以无法往电脑里写cookie信息的。在众多浏览器中火狐浏览器是支持这种本地操作,因此我们用火狐测试。

先写广告代码:

<style>
*{padding: 0;margin: 0;}
  #adv{
    width: 300px;
    height: 300px;
    position: relative;
    overflow: hidden;
  }
  #adv span{
    position: absolute;
    top:15px;
    right:15px;
    text-decoration: underline;
    color: #fff;
    cursor: pointer;
  };
</style>
<div id="adv">
    <span id="close">关闭</span>
    <img src="1.png" alt="" />
 </div>

js代码:

<script>
    var adv=document.getElementById('adv');
    var close=document.getElementById('close');
    /*广告弹出时的卷帘效果方法*/
    function ani(obj){
      var allWidth=document.documentElement.clientWidth; //获取网页可视区域宽
      var allHeight=document.documentElement.clientHeight;//获取网页可视区域高
      adv.style.left= (allWidth-adv.offsetWidth)/2+'px'; //使广告居中在页面
      adv.style.top= (allHeight-adv.offsetHeight)/2+'px';
      var num=0;
      var objH=adv.offsetHeight;
      var timer;
      timer=setInterval(function(){  //定时器,没50毫秒增加10px的高度
        if(num<parseInt(objH)){
          num+=10;
          obj.style.height=num+'px';
        }
        else{
          clearInterval(timer);
        }
      },50);
    }
    /*点击关闭广告*/
    close.onclick=function(){
      adv.style.display="none";
    }
    /*设置cookie,cookie是以字符串形式存储的,可以有很多参数,但必要的一个是cookie 的名称name*/
    function setcookie(){
      var d=new Date(); 
      d.setTime(d.getTime()+24*60*60*1000);  //设置过去时间为当前时间增加一天
      document.cookie="name=world;expires="+d.toGMTString(); //expires是cookie的一个可选参数,设置cookie的过期时间
      var res=document.cookie;
      return res;  //返回cookie字符串
    }
    /*判断网页是否是第一次浏览,如果第一次则弹出广告,然后设置cookie值,否则把广告隐藏*/
    if(document.cookie==""){
      ani(adv);
      setcookie();
    }else{
      adv.style.display='none';
    }
</script>

广告效果图如下(第一次浏览网页,刷新后就没有了):

JS使用cookie实现只出现一次的广告代码效果

现在测试cookie,在火狐里关闭cookie,把你设置的cookie(没有域名)name移除选中,如图:

JS使用cookie实现只出现一次的广告代码效果

从上图可以看到,cookie的过期时间设置为了明天,明天就会失效,如果不删除cookie,等cookie失效后还是会弹出广告。

以上所述是小编给大家介绍的JS使用cookie实现只出现一次的广告代码效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JS BASE64编码 window.atob(), window.btoa()
Mar 09 Javascript
各种常用浏览器getBoundingClientRect的解析
May 21 Javascript
jquery判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
Oct 15 Javascript
完美兼容各大浏览器获取HTTP_REFERER方法总结
Jun 24 Javascript
jQuery EasyUI datagrid实现本地分页的方法
Feb 13 Javascript
javascript实现控制div颜色
Jul 07 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
Feb 08 Javascript
JS图片预加载插件详解
Jun 21 Javascript
Vuex 进阶之模块化组织详解
Jan 12 Javascript
Vue2 监听属性改变watch的实例代码
Aug 27 Javascript
小程序如何写动态标签的实现方法
Feb 05 Javascript
vue递归实现树形组件
Jul 15 Vue.js
利用JS实现简单的瀑布流加载图片效果
Apr 22 #Javascript
jQuery实现百度登录框的动态切换效果
Apr 21 #jQuery
HTML5+Canvas调用手机拍照功能实现图片上传(下)
Apr 21 #Javascript
微信JS-SDK选取手机照片上传功能
Apr 21 #Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(上)
Apr 21 #Javascript
HTML5实现微信拍摄上传照片功能
Apr 21 #Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
Apr 21 #jQuery
You might like
使用网络地址转换实现多服务器负载均衡
2006/10/09 PHP
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
2011/04/17 PHP
YII框架中使用memcache的方法详解
2017/08/02 PHP
layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例
2018/05/12 PHP
JavaScript实现Sleep函数的代码
2007/03/04 Javascript
javascript 关闭IE6、IE7
2009/06/01 Javascript
JavaScript 语法集锦 脚本之家基础推荐
2009/11/15 Javascript
简单的jquery拖拽排序效果实现代码
2011/09/20 Javascript
jquery 笔记 事件
2011/11/02 Javascript
Jquery 模板数据绑定插件的使用方法详解
2013/07/08 Javascript
实例详解Nodejs 保存 payload 发送过来的文件
2016/01/14 NodeJs
jQuery中each()、find()和filter()等节点操作方法详解(推荐)
2016/05/25 Javascript
JavaScript队列函数和异步执行详解
2017/06/19 Javascript
用nodejs实现json和jsonp服务的方法
2017/08/25 NodeJs
BootStrap给table表格的每一行添加一个按钮事件
2017/09/07 Javascript
vue使用xe-utils函数库的具体方法
2018/03/06 Javascript
vue-cli项目优化方法- 缩短首屏加载时间
2018/04/01 Javascript
分享5个顶级的JavaScript Ajax组件库
2018/09/16 Javascript
JS判断数组里是否有重复元素的方法小结
2019/05/21 Javascript
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
浅谈Python中的可变对象和不可变对象
2017/07/07 Python
python3实现SMTP发送邮件详细教程
2018/06/19 Python
Python访问MongoDB,并且转换成Dataframe的方法
2018/10/15 Python
pytorch查看通道数 维数 尺寸大小方式
2020/05/26 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
2020/07/07 Python
利用Python将图片中扭曲矩形的复原
2020/09/07 Python
Django model class Meta原理解析
2020/11/14 Python
利用python爬取有道词典的方法
2020/12/08 Python
公司总经理助理岗位职责
2014/07/09 职场文书
人身损害赔偿协议书范本
2014/09/27 职场文书
2014年村计划生育工作总结
2014/11/14 职场文书
考试作弊检讨书怎么写?
2014/12/21 职场文书
大学生自荐信范文
2015/03/05 职场文书
工程款申请报告
2015/05/15 职场文书
SQL Server的存储过程与触发器以及系统函数和自定义函数
2022/04/10 SQL Server
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server