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 23 Javascript
一些主流JS框架中DOMReady事件的实现小结
Feb 12 Javascript
分享一个自己写的table表格排序js插件(高效简洁)
Oct 29 Javascript
JavaScript预解析及相关技巧分析
Apr 21 Javascript
JavaScript数据存储 Cookie篇
Jul 02 Javascript
BOM系列第三篇之定时器应用(时钟、倒计时、秒表和闹钟)
Aug 17 Javascript
js下载文件并修改文件名
May 08 Javascript
JS通过调用微信API实现微信支付功能的方法示例
Jun 29 Javascript
JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结
Jun 27 Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
Jul 11 jQuery
五分钟搞懂Vuex实用知识(小结)
Aug 12 Javascript
深入浅析JavaScript中的in关键字和for-in循环
Apr 20 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 使用pcntl和libevent 实现Timer功能
2013/10/27 PHP
PHP7基于curl实现的上传图片功能
2018/05/11 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
浅谈PHP中的Trait使用方法
2019/03/22 PHP
javascript 运算数的求值顺序
2011/08/23 Javascript
js实现同一个页面多个渐变效果的方法
2015/04/10 Javascript
将页面table内容与样式另存成excel文件的方法
2015/08/05 Javascript
Javascript实现图片懒加载插件的方法
2016/10/20 Javascript
基于JavaScript实现带缩略图的轮播效果
2017/01/12 Javascript
ajax分页效果(bootstrap模态框)
2017/01/23 Javascript
jquery图片放大镜效果
2017/06/23 jQuery
浅谈关于axios和session的一些事
2017/07/13 Javascript
JS实现图片放大镜插件详解
2017/11/06 Javascript
JS+HTML5实现获取手机验证码倒计时按钮
2018/08/08 Javascript
npm全局环境变量配置详解
2020/12/15 Javascript
[00:16]热血竞技场
2019/03/06 DOTA
利用Python的Django框架生成PDF文件的教程
2015/07/22 Python
Python获取央视节目单的实现代码
2015/07/25 Python
python开发之函数定义实例分析
2015/11/12 Python
python数据类型_元组、字典常用操作方法(介绍)
2017/05/30 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
2018/04/27 Python
详解Python修复遥感影像条带的两种方式
2020/02/23 Python
Django实现简单的分页功能
2021/02/22 Python
详解CSS3+JS完美实现放大镜模式
2020/12/03 HTML / CSS
HTML5 Canvas绘制五星红旗
2016/05/04 HTML / CSS
十八届三中全会宣传方案
2014/02/21 职场文书
青年标兵事迹材料
2014/08/16 职场文书
镇副书记专题民主生活会对照检查材料思想汇报
2014/10/02 职场文书
合伙开公司协议书范本
2014/10/28 职场文书
国家助学贷款承诺书
2015/04/30 职场文书
2015年会计年终工作总结
2015/05/26 职场文书
高二数学教学反思
2016/02/18 职场文书
2019财务毕业实习报告
2019/06/27 职场文书
Vue接口封装的完整步骤记录
2021/05/14 Vue.js
Vue中使用import进行路由懒加载的原理分析
2022/04/01 Vue.js
python使用shell脚本创建kafka连接器
2022/04/29 Python