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

  下面一个案例使用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>