jQuery+Cookie关闭广告

来源:https://www.sucaihuo.com/js/158.html 2015-06-10 05:42浏览(1315) 收藏

关闭广告流程:当点击关闭按钮时,记录Cookie并设置有效期,在Cookie有效期内刷新页面,是不会再加载背景图的,如果cookie失效,则又会重新加载背景图片广告。
jQuery+Cookie关闭广告
分类:图片代码 > 广告 难易:初级
查看演示 下载资源: 154 下载资源 下载积分: 30 积分

HTML

首先我们在页面加背景图,并且加上关闭按钮:

<div id="top"> 
    <em id="close_btn" title="关闭背景"></em> 
</div>

jQuery

当第一次加载页面时(这时还没有设置cookie等),当然要把背景图片加载,显示完整的页面效果。当我们点击“关闭”按钮时,这个时候Javascript会把页面已经加载的背景图片干掉,即不显示出来,并且设置cookie,通过cookie的过期时间来控制大背景图片是否显示。即当下次刷新页面时,如果cookie未过期,则不会加载大背景图片,反之则加载大背景图片,请看代码:

$(function(){ 
    if(getCookie("mainbg")==0){ 
        $("body,html").css("background","none"); 
        $("#close_btn").hide(); 
    }else{ 
        $("body").css("background","url(images/body_bg.jpg)) no-repeat 50% 0"); 
        $("html").css("background","url(images/html_bg.jpg) repeat-x 0 0"); 
        $("#close_btn").show().css("background","url(images/close_btn.jpg) no-repeat"); 
    } 
    //点击关闭 
    $("#close_btn").click(function(){ 
        $("body,html").css("background","none"); 
        $("#close_btn").hide(); 
        setCookie("mainbg","0"); 
    }); 
})

很显然,我们是通过设置页面元素的CSS背景background属性来控制背景图的加载,并且通过getCookie()和setCookie()两个自定义函数来读取和设置cookie的。

//设置cookie 
function setCookie(name,value){ 
    var exp = new Date();  
    exp.setTime(exp.getTime() + 1*60*60*1000);//有效期1小时 
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); 
} 
//取cookies函数 
function getCookie(name){ 
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); 
    if(arr != null) return unescape(arr[2]); return null; 
}

你可以通过本示例,做一个很多网站顶部会出现大的广告banner动画,这个可以用animte来实现。

标签: cookie广告背景
评论1
头像

系统已开启自动识别垃圾评论机制,识别到的自动封号,下载出错或者资源有问题请联系全栈客服QQ 1915635791

  • 头像 沙发
    12-10 16:45
    s***6
    已应用到项目中去 非常好 次开发都能用上
1 2