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

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

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

先写广告代码:

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<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>

?


1

2

3

4

<div id="adv">

    <span id="close">关闭</span>

    <img src="1.png" alt="" />

 </div>

js代码:

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

<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(没有域名)name移除选中,如图:

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

原文地址:https://www.cnblogs.com/good10000/p/10588556.html

时间: 2024-10-27 14:11:50

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

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

我们上网经常会遇到第一次需要登录而之后不用再登录的网站的情况,其实是运用了Cookie 存储 web 页面的用户信息,Cookie 以名/值对形式存储,当浏览器从服务器上请求 web 页面时, 属于该页面的 cookie 会被添加到该请求中.服务端通过这种方式来获取用户的信息.详细cookie教程可链接:http://www.runoob.com/js/js-cookies.html. 今天的这个效果:第一次打开网页弹出一个广告框(js实现卷帘效果),关闭广告或刷新页面之后就不会再出现.由于往电

JS使用cookie实现DIV提示框只显示一次的方法

本文实例讲述了JS使用cookie实现DIV提示框只显示一次的方法.分享给大家供大家参考,具体如下: 这里运用JavaScript的cookie技术,控制网页上的提示DIV只显示一次,也就是当用户是第一次打开网页的时候才显示,第二次自动隐藏起来,很好的提升了用户体验,不会使用户烦感:利用Cookies,我们还可做超多的事情,慢慢体会吧. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-cookie-div-dlg-show-once-cod

js与cookie的domain和path之间的关系

1.前言 使用javascript操作cookie我们都经常使用,对cookie不是很了解的话可以看下这篇帖子[javascript操作cookie](http://www.cnblogs.com/Darren_code/archive/2011/11/24/Cookie.html "javascript操作cookie"):常用的cookie知识点上面那位大神已经讲完了,有点点小补充顺便说下,不对的地方欢迎吐槽. 2.外部js 做网站经常要引入其他网站的js.一直以来我以为引入的js

js操作Cookie,实现历史浏览记录

/** * history_teacher.jsp中的js,最近浏览名师 * @version: 1.0 * @author: mingming */ $(function(){ getHistory(); }); var historyCount=4; //保存历史记录个数 /** * 增加浏览历史记录 * @param id 编号 * @param name 姓名 * @param photo 照片 * @param grade 年级 * @param subject 科目 * @retur

JS设置cookie,删除cookie

js设置cookie有很多种方法. 第一种:(这个是w3c官网的代码) <script> //设置cookie function setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays*24*60*60*1000)); var expires = "expires="+d.toUTCString(); document.cookie = cname + &q

JS设置cookie

cookie 与 session 是网页开发中常用的信息存储方式.Cookie是在客户端开辟的一块可存储用户信息的地方:Session是在服务器内存中开辟的一块存储用户信息的地方. JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的. 而cookie是运行在客户端的,所以可以用JS来设置cookie. 首先需要稍微了解一下cookie的结构,简单地说:cookie是以键值对的形式保存的,即key=value的格式.各个cookie

分步引导中,Js操作Cookie,实现判断用户是否第一次登陆网站

上一篇介绍了分布引导插件IntroJs的使用,本篇介绍通过Js操作cookie的方法. 分步引导的功能只适合与第一次登陆网站的新用户,不能每次登陆都提示分布引导,那么如何判断用户是否第一次登录网站呢? 通过Js操作浏览器Cookie,方法有很多种,大多数是通过js获取到cookie存储的键值对,然后找到需要的哪一个键,在判断值,但是这种方案比较繁琐,现在给出一种新的想法.手动设置一个字段到cookie中,这样每次只判断是否有这个字段即可.代码如下: 1 <script type="text

js中cookie的使用 以及缺点

  什么是Cookie Cookie意为"甜饼",是由W3C组织提出,最早由Netscape社区发展的一种机制.目前Cookie已经成为标准,所有的主流浏览器如IE.Netscape.Firefox.Opera等都支持Cookie. 由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份.怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证.这样服务器就能从通行证上确认客户身份了.这就是Cookie的工作原理. Cookie实际上是一小段的文本

JS设置Cookie,及COOKIE的限制

在Javascript脚本里,一个cookie 实际就是一个字符串属性.当你读取cookie的值时,就得到一个字符串,里面当前WEB页使用的所有cookies的名称和值.每个cookie除了 name名称和value值这两个属性以外,还有四个属性.这些属性是: expires过期时间. path路径. domain域.以及 secure安全. Expires – 过期时间.指定cookie的生命期.具体是值是过期日期.如果想让cookie的存在期限超过当前浏览器会话时间,就必须使用这个属性.当过