亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery無刷新切換主題皮膚實例講解

2019-11-20 11:25:56
字體:
來源:轉載
供稿:網友

主題皮膚切換功能在很多網站和系統中應用,用戶可以根據此功能設置自己喜歡的主題顏色風格,增強了用戶體驗。本文將圍繞如何使用jQuery實現點擊無刷新切換主題皮膚功能。

實現該功能的原理就是通過點擊定義的主題樣式,改變頁面當前引用的主題CSS文件,并且將當前的主題樣式寫入cookie中或者寫入數據庫中,以便下次該用戶重新訪問頁面時,調用的就是上次設置好的主題樣式。
準備主題皮膚樣式
首先,我準備了三個樣式表CSS文件,分別是三種風格的主題皮膚,將其引入頁面,放置在頁面的<head>之間。

<link title="default" rel="stylesheet" type="text/css" href="css/default.css" /> <link title="blue" rel="stylesheet" type="text/css" href="css/blue.css" disabled="disabled" /> <link title="brown" rel="stylesheet" type="text/css" href="css/brown.css" disabled="disabled" /> 

注意我給每個<link>添加了title屬性,是由用處的,另外我禁用了第2個和第3個CSS文件,就是默認起作用的是第1個CSS文件。
XHTML

<ul id="styles">  <li id="default">經典</li>  <li id="blue">淡藍</li>  <li id="brown">棕色</li> </ul> 

三種主題風格用于點擊切換,注意我分別給每個li加了id屬性。
CSS

ul#styles{margin-top:10px} ul#styles li{float:left; width:50px; height:40px; line-height:40px; padding:2px; margin-left:10px; border:1px solid #fff; text-align:center; color:#fff; cursor:pointer} ul#styles li.cur{border:1px solid #369; background-image:url(images/selected.gif); background-repeat:no-repeat; background-position:4px 32px} ul#styles li#default{background-color:#162934;} ul#styles li#blue{background-color:#90c5e7} ul#styles li#brown{background-color:#601f00} 

用CSS渲染XHTML,其中ul#styles li.cur是指當前主題選中下的樣式,我用一個小勾表示當前選中的主題。
jQeury
首先我們要引入jquery庫和jquery.cookie插件。jquery.cookie插件為jQuery提供了強大的cookie操作功能,你不用去寫復雜的原生的javascript,只管直接調用該插件就行。關于該插件的使用,請閱讀本站文章:

<script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/jquery.cookie.js"></script> 

接下來,當用戶點擊切換選擇主題時,要發生以下動作:獲取選擇的主題(id),查看引用的CSS文件,如果發現其title屬性值正好與當前選中的主題id值相等,則應用該主題CSS文件,同時將其他引用的CSS文件禁用,并且將當前選中的主題寫入cookie中,設置cookie過期時間,最后將當前選中的主題按鈕(li)設置為當前選中狀態。具體看下面的代碼:

$("#styles li").click(function(){  var style = $(this).attr("id");  $("link[title='"+style+"']").removeAttr("disabled");  $("link[title!='"+style+"']").attr("disabled","disabled");  $.cookie("mystyle",style,{expires:30});  $(this).addClass("cur").siblings().removeClass("cur"); }); 

注意,在本例中我將選中的樣式保存在用戶cookie中,cookie名稱為”mystyle“,值為當前選中的主題值,過去時間為30天,即:expires:30
接著需要做的是頁面載入時,讀取主題cookie值,如果主題cookie存在則調用cookie值對應的主題樣式CSS文件,并且設置當前主題按鈕狀態為選中狀態,反之,則調用默認樣式。代碼如下:

var cookie_style = $.cookie("mystyle"); if(cookie_style==null){  $("link[title='default']").removeAttr("disabled");  $("#styles li#default").addClass("cur"); }else{  $("link[title='"+cookie_style+"']").removeAttr("disabled");  $("#styles li[id='"+cookie_style+"']").addClass("cur");  $("link[title!='"+cookie_style+"']").attr("disabled","disabled"); } 

將以上兩段代碼加入到$(function(){})中,工作到此完成。
值得一提的是,本文應用的cookie記錄用戶所選擇設置的主題皮膚樣式,但是當cookie到期或者用戶清除了瀏覽器的COOKIE,亦或者用戶換用其他瀏覽器瀏覽時,當前設置的主題就會失效。為了讓用戶永久保存選擇的主題樣式,必須將所選的主題與用戶信息對應,并寫入數據庫,下次該用戶登錄就可以直接讀取主題,當然,該方法應用在有用戶權限范圍的系統,如后臺管理系統,個人中心等。

以上就是本文的全部內容,內容很詳細,方便讀者理解閱讀,希望大家能有所收獲吧!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲视频在线播放| 久久色精品视频| 精品无码久久久久久国产| 日韩欧美黄色动漫| 日韩欧美一区二区三区久久| www.亚洲一区| 久久久精品国产一区二区| 欧美高清第一页| 欧美在线视频免费| 久久久久久国产精品久久| 疯狂欧美牲乱大交777| 国产人妖伪娘一区91| 日韩欧美亚洲范冰冰与中字| 久久99精品国产99久久6尤物| 亚洲国产一区二区三区四区| 日韩美女主播视频| 91久久国产精品| 久久久久久国产精品| 福利微拍一区二区| 欧美激情国内偷拍| 欧美视频中文字幕在线| 日本一区二区三区在线播放| 91免费视频国产| 亚洲aⅴ男人的天堂在线观看| 亚洲人在线观看| 韩国视频理论视频久久| 亚洲精品久久久久久久久久久久| 欧美高清在线播放| 欧美精品一区三区| 蜜月aⅴ免费一区二区三区| 日本三级韩国三级久久| 日韩精品免费在线视频观看| 日韩电影中文 亚洲精品乱码| 国产欧美日韩精品专区| 亚洲午夜女主播在线直播| 亚洲天堂影视av| 69久久夜色精品国产69| 亚洲男子天堂网| 欧美日韩午夜剧场| 亚洲精品一区中文字幕乱码| 亚洲激情电影中文字幕| 欧美国产日韩精品| 欧美视频二区36p| 日韩国产高清视频在线| 国产97色在线|日韩| 中文字幕不卡在线视频极品| 国产亚洲欧美日韩精品| 亚洲视频在线观看| 在线观看91久久久久久| 另类天堂视频在线观看| 亚洲人成电影网站色| 久久久亚洲精选| 国产啪精品视频| 欧美激情亚洲激情| 久久97精品久久久久久久不卡| 国产精品免费在线免费| 亚洲一区二区免费| 欧美激情精品久久久久| 久久这里只有精品99| 欧美日韩亚洲国产一区| 91国内免费在线视频| 亚洲性av网站| 91亚洲精华国产精华| 精品人伦一区二区三区蜜桃网站| www.亚洲免费视频| 亚洲第一区第二区| 国产精品一区二区三区久久久| 国产日产欧美a一级在线| 97精品国产97久久久久久免费| 亚洲一区二区三区久久| 78m国产成人精品视频| 国产成人精彩在线视频九色| 欧美性猛交xxxx乱大交极品| 亚洲日本中文字幕免费在线不卡| 成人在线视频福利| 国产精品一区二区三区成人| 亚洲女人天堂视频| 亚洲的天堂在线中文字幕| 岛国av午夜精品| 国产成+人+综合+亚洲欧美丁香花| 不用播放器成人网| 国产精品美女呻吟| 亚洲欧美激情另类校园| 日韩精品高清在线观看| 亚洲自拍在线观看| 欧美国产精品人人做人人爱| 亚洲xxxxx电影| 日韩视频在线免费| 欧美老女人xx| 亚洲欧美日韩天堂| 黑人巨大精品欧美一区二区| 国产成人激情视频| 中文字幕日本欧美| 国产精品黄页免费高清在线观看| 日韩在线中文字幕| 欧美高清视频在线观看| 国产区精品在线观看| 成人看片人aa| 色综合久综合久久综合久鬼88| 欧美激情一级二级| 欧美在线视频一区| 热99在线视频| 一区二区三区视频在线| 国a精品视频大全| 精品亚洲男同gayvideo网站| 97视频在线看| 色狠狠久久aa北条麻妃| 亚洲新中文字幕| 亚洲欧美成人网| 日韩hd视频在线观看| 亚洲另类欧美自拍| 日产精品99久久久久久| 久久噜噜噜精品国产亚洲综合| 亚洲精品永久免费| 性欧美在线看片a免费观看| 亚洲欧美成人一区二区在线电影| 欧美大全免费观看电视剧大泉洋| 久久国产精品久久精品| 欧美成人性色生活仑片| 日韩中文字幕视频在线| 日韩一区二区av| 成人免费看片视频| 亚洲另类激情图| 久久久国产精品免费| 欧美精品免费播放| 成人午夜在线视频一区| 久久久亚洲欧洲日产国码aⅴ| 性欧美办公室18xxxxhd| 久久亚洲精品中文字幕冲田杏梨| 日韩欧美高清视频| 欧美日韩在线免费观看| 亚洲精品久久7777777| 欧美裸身视频免费观看| 国产精品扒开腿做| 91日韩在线播放| 亚洲国产成人久久综合| 美日韩精品免费视频| 日韩欧美在线看| 亚洲国产精品美女| 亚洲精品一区二区三区不| 日韩在线观看免费全集电视剧网站| 欧美日韩另类字幕中文| 欧美国产精品va在线观看| 日韩欧美国产视频| 777国产偷窥盗摄精品视频| 精品国产91乱高清在线观看| 国内精品久久久久久久| 精品高清一区二区三区| 91精品在线影院| 亚洲国产另类 国产精品国产免费| 欧日韩不卡在线视频| 日韩欧美在线观看视频| 国产精欧美一区二区三区| 日韩激情视频在线| 91精品国产高清久久久久久91| 久久精品视频99| 亚洲在线视频福利| 久久国产视频网站| 国产亚洲欧美视频| 国内外成人免费激情在线视频| 91香蕉嫩草影院入口| 国产精品国产三级国产专播精品人| 国产91精品久久久久| 日日狠狠久久偷偷四色综合免费|