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 相关文章推荐
firefox事件处理之自动查找event的函数(用于onclick=foo())
Aug 05 Javascript
javascript开发技术大全 第4章 直接量与字符集
Jul 03 Javascript
基于javascipt-dom编程 table对象的使用
Apr 22 Javascript
jquery鼠标滑过提示title具体实现代码
Aug 06 Javascript
checkbox选中与未选中判断示例
Aug 04 Javascript
AngularJS实现动态编译添加到dom中的方法
Nov 04 Javascript
如何提高Dom访问速度
Jan 05 Javascript
如何制作幻灯片(代码分享)
Jan 06 Javascript
jQuery插件HighCharts绘制2D带有Legend的饼图效果示例【附demo源码下载】
Mar 10 Javascript
JS中把函数作为另一函数的参数传递方法(总结)
Jun 28 Javascript
微信小程序学习笔记之登录API与获取用户信息操作图文详解
Mar 29 Javascript
Vue之Mixins(混入)的使用方法
Sep 24 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循环获取GET和POST值的代码
2008/04/09 PHP
Apache 配置详解(最好的APACHE配置教程)
2010/07/04 PHP
PHP中改变图片的尺寸大小的代码
2011/07/17 PHP
php实现Mysql简易操作类
2015/10/11 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
jQuery学习之prop和attr的区别示例介绍
2013/11/15 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
jQuery中prepend()方法使用详解
2015/08/11 Javascript
整理Javascript基础语法学习笔记
2015/11/29 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
2016/07/27 Javascript
最原始的jQuery注册验证方式
2016/10/11 Javascript
AngularJS全局scope与Isolate scope通信用法示例
2016/11/22 Javascript
jQuery.cookie.js实现记录最近浏览过的商品功能示例
2017/01/23 Javascript
对称加密与非对称加密优缺点详解
2017/02/06 Javascript
NodeJs使用Mysql模块实现事务处理实例
2017/05/31 NodeJs
JS 学习总结之正则表达式的懒惰性和贪婪性
2017/07/03 Javascript
Angularjs的$http异步删除数据详解及实例
2017/07/27 Javascript
浏览器调试动态js脚本的方法(图解)
2018/01/19 Javascript
使用JS判断页面是首次被加载还是刷新
2019/05/26 Javascript
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
2020/04/07 Javascript
解决Vue router-link绑定事件不生效的问题
2020/07/22 Javascript
[57:53]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#3OG VS VP
2016/03/03 DOTA
Python逐行读取文件中内容的简单方法
2019/02/26 Python
Python一行代码实现快速排序的方法
2019/04/30 Python
Python OpenCV实现鼠标画框效果
2020/08/19 Python
PYTHON发送邮件YAGMAIL的简单实现解析
2019/10/28 Python
Python下利用BeautifulSoup解析HTML的实现
2020/01/17 Python
Python实现投影法分割图像示例(二)
2020/01/17 Python
浅谈keras中的keras.utils.to_categorical用法
2020/07/02 Python
建设办主任四风问题整改思路和措施
2014/09/20 职场文书
房屋过户委托书范本
2014/10/07 职场文书
安全保证书怎么写
2015/02/28 职场文书
幼儿园教研工作总结2015
2015/05/12 职场文书
素质拓展训练感想
2015/08/07 职场文书
springboot拦截器无法注入redisTemplate的解决方法
2021/06/27 Java/Android
GPU服务器的多用户配置方法
2022/07/07 Servers