• 两种方法使用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:#4b4b4b9;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 -36px9;height:46px;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 09;height:12px;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>
    


  • 相关阅读:
    Oracle block 格式
    oracle用户解锁
    如何扩大重做日志(redolog)文件的大小
    Oracle重建临时表空间
    ORA-32004: obsolete and/or deprecated parameter(s) specified
    oracle分布式事务总结(转载)
    spring注解 @Scheduled(cron = "0 0 1 * * *")实现定时的执行任务
    IDEA启动Tomcat报错1099 is already in use
    js中const,var,let区别
    mysql笔记
  • 原文地址:https://www.cnblogs.com/yangkai-cn/p/4016706.html
Copyright © 2020-2023  润新知