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 相关文章推荐
JavaScript 事件冒泡简介及应用
Jan 11 Javascript
js的alert样式如何更改如背景颜色
Jan 22 Javascript
jquery实现鼠标滑过显示提示框的方法
Feb 05 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
Feb 17 Javascript
JS实现单击输入框弹出选择框效果完整实例
Dec 14 Javascript
layer弹出层框架alert与msg详解
Mar 14 Javascript
详解angularJs模块ui-router之状态嵌套和视图嵌套
Apr 28 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
May 02 Javascript
JavaScript设置名字输入不合法的实现方法
May 23 Javascript
深入解析Vue源码实例挂载与编译流程实现思路详解
May 05 Javascript
一文读懂ES7中的javascript修饰器
May 06 Javascript
解决node终端下运行js文件不支持ES6语法
Apr 04 Javascript
利用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
PHP has encountered an Access Violation
2007/01/15 PHP
php4与php5的区别小结(配置异同)
2011/12/20 PHP
php遍历数组的4种方法总结
2014/07/05 PHP
php遍历CSV类实例
2015/04/14 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
2015/05/13 PHP
浅谈PHP正则中的捕获组与非捕获组
2016/07/18 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
2017/03/17 PHP
PHP中16个高危函数整理
2019/09/19 PHP
PHP 命名空间和自动加载原理与用法实例分析
2020/04/29 PHP
javascript中的new使用
2010/03/20 Javascript
js相册效果代码(点击创建即可)
2013/04/16 Javascript
文本有关的样式和jQuery求对象的高宽问题分别说明
2013/08/30 Javascript
Javascript的表单与验证-非空验证
2016/03/18 Javascript
vue路由跳转时判断用户是否登录功能的实现
2017/10/26 Javascript
JS实现的抛物线运动效果示例
2018/01/30 Javascript
详解Vue源码学习之callHook钩子函数
2018/07/25 Javascript
jQuery使用bind动态绑定事件无效的处理方法
2018/12/11 jQuery
VueCli3.0中集成MockApi的方法示例
2019/07/05 Javascript
解决layer图标icon不加载的问题
2019/09/04 Javascript
JavaScript eval()函数定义及使用方法详解
2020/07/07 Javascript
浅谈JavaScript中this的指向问题
2020/07/28 Javascript
解决vant中 tab栏遇到的坑 van-tabs
2020/11/04 Javascript
Python enumerate遍历数组示例应用
2008/09/06 Python
详解Python的Flask框架中生成SECRET_KEY密钥的方法
2016/06/07 Python
Python 提取dict转换为xml/json/table并输出的实现代码
2016/08/28 Python
PyQt5实现下载进度条效果
2018/04/19 Python
Python坐标线性插值应用实现
2019/11/13 Python
numpy np.newaxis 的实用分享
2019/11/30 Python
Python Flask框架实现简单加法工具过程解析
2020/06/03 Python
Yahoo的PHP面试题
2014/05/26 面试题
实习鉴定评语
2014/01/19 职场文书
小学防溺水制度
2014/01/29 职场文书
楼面经理岗位职责范本
2014/02/18 职场文书
机关干部个人对照检查材料思想汇报
2014/09/28 职场文书
王亚平太空授课观后感
2015/06/12 职场文书
关于对TypeScript泛型参数的默认值理解
2022/07/15 Javascript