Posted in Javascript onDecember 29, 2013
下面一个案例使用js实现一个页面浮层效果,并且通过两种方法使用js读写cookie来实现用户关闭广告的显示状态;
读者可以将下面代码复制到一个html文件试试效果;html的pre标签未两种js实现的方式
<!DOCTYPE HTML> <html> <head> <meta content="text/html;charset=utf-8" http-equiv="Content-Type"/> <meta content="杨凯" name="description"/> <meta name="author" content="http://blog.csdn.net/tianyazaiheruan"/> <meta name="copyright" content="杨凯版权所有"/> <title>IT_Blog_杨凯</title> </head> <body> <div> 本文作者:IT_Blog_杨凯 转载请指明出处:<a href=”http://blog.csdn.net/yangkai_hudong”>http://blog.csdn.net/yangkai_hudong</a> </div> <br> <div> <pre> 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 < cookies.length; 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(); }); }); </pre> </div> <!--广告样式 --> <style type="text/css"> body {TEXT-ALIGN: center;} #wapDocCookie{background-color:rgba(0,0,0,0.7);background:#4b4b4b\9;width:100%;text-align:center;position:fixed;padding:10px 0 5px 0;bottom:0;left:0;} #bkguancha{background:url(http://static.hudong.com/35/86/26100000006141138683868789461.png) no-repeat;background-size:280px;background:url(http://static.hudong.com/50/69/26100000006141138683695381873.png) no-repeat 0 -36px\9;height:46px;width:290px;display:inline-block;overflow:hidden;line-height:99em;} #closeAd{background:url(http://static.hudong.com/54/88/26100000006141138683883031718.png) no-repeat ;background-size:12px;background:url(http://static.hudong.com/50/69/26100000006141138683695381873.png) no-repeat -278px 0\9;height:12px;width:12px;display:block;position:absolute;top:5px;right:10px;} <!--广告js --> </style> <script type="text/javascript" src="http://www.huimg.cn/lib/jquery-1.3.2.js"></script> <script type="text/javascript"> $(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 < cookies.length; 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; } }; </script> <div id="wapDocCookie" style="display: none;"> <a id="bkguancha" href="http://www.baike.com/api.php?m=guancha&a=download" onclick="StatVirtualTraffic(document.referrer,window.location,'stat_hdstat_onclick_survey_wap_doc_foot_download')">点击下载</a> <a title="关闭" id="closeAd" href="javascript:void(0)"> </a> </div> </body> </html>
js读写cookie实现一个底部广告浮层效果的两种方法
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@