欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

js读写cookie实现一个底部广告浮层效果的两种方法_javascript技巧

程序员文章站 2022-04-07 11:41:46
...
下面一个案例使用js实现一个页面浮层效果,并且通过两种方法使用js读写cookie来实现用户关闭广告的显示状态;

读者可以将下面代码复制到一个html文件试试效果;html的pre标签未两种js实现的方式
复制代码 代码如下:








IT_Blog_杨凯



本文作者:IT_Blog_杨凯
转载请指明出处:http://blog.csdn.net/yangkai_hudong




 
1.第一种:使用jQuery的cookie库
例子就是现在正在使用的js,相关代码如下:
$(document).ready(function () {
var adCookie=$.cookie("docCookie");
//如果本地没有cookie,将词条cookie写入本地
if(adCookie!="adDocCookie"){
$("#wapDocCookie").show();
}
//如果本地存在词条cookie,不显示浮层
if(adCookie=="adDocCookie"){
$("#wapDocCookie").hide();
}
//关闭广告,隐藏浮层
$("#closeAd").click(function(){
$("#wapDocCookie").hide();
$.cookie("docCookie","adDocCookie",{expires:60});
});

});
//jQuery cookie library
jQuery.cookie = function(name, value, options) {
if (typeof value != 'undefined') { // name and value given, set cookie
options = options || {};
if (value === null) {
value = '';
options.expires = -1;
}
var expires = '';
if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
var date;
if (typeof options.expires == 'number') {
date = new Date();
date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
} else {
date = options.expires;
}
expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
}
var path = options.path ? '; path=' + (options.path) : '';
var domain = options.domain ? '; domain=' + (options.domain) : '';
var secure = options.secure ? '; secure' : '';
document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
} else { // only name given, get cookie
var cookieValue = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i var cookie = jQuery.trim(cookies[i]);
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
};
2.第二种:自己写一个js操作cookie的实例
相关js如下:
$(document).ready(function() {

function writeCookie(name,value)
{
var exp = new Date();
exp.setTime(exp.getTime() + 7*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
//读取cookies
function readCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg)){
return unescape(arr[2]);
}else {
return null;
}
}
var adCookie = readCookie("adCookie");

if(adCookie!="adDocCookie"){
$("#wapDocCookie").show();
}
//如果本地存在词条cookie,不显示浮层
if(adCookie=="adDocCookie"){
$("#wapDocCookie").hide();
}

//关闭广告,隐藏浮层
$("#closeAd").click(function(){
$("#wapDocCookie").hide();
});
});