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

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

今天的这个效果:第一次打开网页弹出一个广告框(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"  />
 </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>

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

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

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

时间: 2024-08-03 12:03:21

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

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

我们上网经常会遇到第一次需要登录而之后不用再登录的网站的情况,其实是运用了Cookie 存储 web 页面的用户信息,Cookie 以名/值对形式存储,当浏览器从服务器上请求 web 页面时, 属于该页面的 cookie 会被添加到该请求中.服务端通过这种方式来获取用户的信息l. 今天的这个效果:第一次打开网页弹出一个广告框(js实现卷帘效果),关闭广告代码或刷新页面之后就不会再出现.由于往电脑里写cookie信息是服务器行为,只有访问网站,服务器才会向电脑里写cookie信息,由于现在只是普通

写入cookie后只显示一次的DIV提示框代码

<script type="text/javascript"> function cookiesave(n, v, mins, dn, path){ if(n) { if(!mins) mins = 365 * 24 * 60; if(!path) path = "/"; var date = new Date(); date.setTime(date.getTime() + (mins * 60 * 1000)); var expires = &quo

为什么只设置line-height就可以实现文本垂直居中效果

为什么只设置line-height就可以实现文本垂直居中效果:在实际应用中,如果让单行文本在元素中垂直居中,可以将元素的高度和行高值设置为相同即可.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> &l

编程算法 - 第一个只出现一次的字符 代码(C)

第一个只出现一次的字符 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 在字符串中找出第一个只出现一次的字符. 字符是char类型, 所以匹配256种可能, 采用hash表, 计算出现的次数, 再找到第一次出现的字符. 代码: /* * main.cpp * * Created on: 2014.6.12 * Author: Spike */ /*eclipse cdt, gcc 4.8.1*/ #include <stdio.h> #i

编程算法 - 数组中只出现一次的数字 代码(C)

数组中只出现一次的数字 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 一个整型数组里除了两个数字以外, 其他的数字都出现了两次. 请写程序找出这两个只出现一次的数字. 如果从头到尾依次异或数组中的每一个数字, 那么最终的结果刚好是那个只出现一次的数字. 根据结果数组二进制某一位为1, 以此分组, 为1的一组, 为0的一组, 再重新进行异或. 最后得出两个结果. 时间复杂度O(n). 代码: /* * main.cpp * * Create

漂浮广告代码兼容ie、firefox,多个漂浮不冲突,调用只需两行代码

原文:漂浮广告代码兼容ie.firefox,多个漂浮不冲突,调用只需两行代码 将广告内容放在div中,设置一个id,然后用下面方法调用var adcls=new AdMove("div的id");adcls.Run();注意,在调用前要先引用Main.js和AdFloat.js,div也要在调用前写好,原因就不用说了吧或者也可以用下面方法,在页面加载完成时调用,就不用考虑位置了addEvent(window,"load",initad);function inita

利用cookie实现“只弹出一次窗口”的JS代码

弹出式窗口通常被用来做弹出广告(CPM),其实用弹出式窗口用来做消息通知也是最普遍而且是最有效的方法,但如果每次刷新页面特别是刷新首页都要弹出窗口的话,那绝对是让访问者厌烦的事情. 比如你将上面的脚本放在一个需要频繁经过的页面里(例如首页),那么每次刷新这个页面,窗口都会弹出一次,我们使用cookie来控制一下就可以了. 原理:编写代码查看当前访问者计算机上的Cookie中是否包含有本网站的信息,如果有,则此计算机已经不是第一次访问首页,再次浏览首页时无需弹出广告窗口:否则,就弹出广告. <sc

JS开发通过设置cookie实现第一次进入首页展示弹窗广告,再次进入隐藏广告

<div class="dn car-activity-opcity"></div> <div class="dn car-activity-module"> <a href="javascript:var bd_close;" class="close-activity" title="关闭" id="T-close-chezhujie" ot

滚轮事件的防冒泡、阻止默认行为的代码(效果是:只让当前div滚动,连当前文档都不滚动的效果)

//用firefox变量表示火狐代理var firefox = navigator.userAgent.indexOf('Firefox') != -1;function MouseWheel(e){//阻止事件冒泡和默认行为的完整兼容性代码    e = e||window.event;    if (e.stopPropagation) {//这是取消冒泡        e.stopPropagation();    } else{        e.cancelBubble = true;