最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2015年10月21日 17:09:24   投稿:lijiao  
這篇文章主要內容是jQuery無刷新切換主題皮膚實例講解,本文應用cookie記錄用戶所選擇設置的主題皮膚樣式,需要了解的朋友可以參考下

主題皮膚切換功能在很多網站和系統(tǒng)中應用,用戶可以根據此功能設置自己喜歡的主題顏色風格,增強了用戶體驗。本文將圍繞如何使用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> 

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

$("#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文件,并且設置當前主題按鈕狀態(tài)為選中狀態(tài),反之,則調用默認樣式。代碼如下:

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,亦或者用戶換用其他瀏覽器瀏覽時,當前設置的主題就會失效。為了讓用戶永久保存選擇的主題樣式,必須將所選的主題與用戶信息對應,并寫入數據庫,下次該用戶登錄就可以直接讀取主題,當然,該方法應用在有用戶權限范圍的系統(tǒng),如后臺管理系統(tǒng),個人中心等。

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

相關文章

  • Javascript函數中的arguments.callee用法實例分析

    Javascript函數中的arguments.callee用法實例分析

    這篇文章主要介紹了Javascript函數中的arguments.callee用法,結合實例形式分析了arguments.callee操作當前方法引用的具體技巧,需要的朋友可以參考下
    2016-09-09
  • jquery中$(#form :input)與$(#form input)的區(qū)別

    jquery中$(#form :input)與$(#form input)的區(qū)別

    本節(jié)為大家介紹下jquery 中$(#form :input)與$(#form input)的區(qū)別,需要的朋友可以參考下
    2014-08-08
  • jquery蒙版控件實現代碼

    jquery蒙版控件實現代碼

    jquery蒙版控件實現代碼,學習jquery的朋友可以參考下。
    2010-12-12
  • jquery之基本選擇器practice(實例講解)

    jquery之基本選擇器practice(實例講解)

    下面小編就為大家?guī)硪黄猨query之基本選擇器practice(實例講解)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 基于MVC3方式實現下拉列表聯動(JQuery)

    基于MVC3方式實現下拉列表聯動(JQuery)

    點擊一個下拉框,則另一個下拉框的值發(fā)生對應變化。如:選擇中國,則另個一下拉框里顯示中國各個省份,具體實現如下,感興趣的朋友可以參考下
    2013-09-09
  • JQuery選擇器、過濾器大整理

    JQuery選擇器、過濾器大整理

    這篇文章主要介紹了JQuery選擇器、過濾器大整理,經過一晚上的查找整理,終于整理出一套應該算最全面的JQuery選擇過濾器的方法了,需要的朋友可以參考下
    2015-05-05
  • jQuery焦點圖輪播插件KinSlideshow用法分析

    jQuery焦點圖輪播插件KinSlideshow用法分析

    這篇文章主要介紹了jQuery焦點圖輪播插件KinSlideshow用法,結合實例形式較為詳細的分析了jQuery焦點圖輪播插件KinSlideshow的參數含義與使用方法,需要的朋友可以參考下
    2016-06-06
  • jquery html動態(tài)添加的元素綁定事件詳解

    jquery html動態(tài)添加的元素綁定事件詳解

    下面小編就為大家?guī)硪黄猨query html動態(tài)添加的元素綁定事件詳解。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • jquery插件實現懸浮的菜單

    jquery插件實現懸浮的菜單

    這篇文章主要為大家詳細介紹了jquery插件實現懸浮的菜單,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • jquery遍歷checkbox介紹

    jquery遍歷checkbox介紹

    這篇文章主要是對jquery遍歷checkbox進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-02-02

最新評論

宁明县| 南汇区| 澳门| 蓬莱市| 安宁市| 牟定县| 精河县| 神木县| 梁平县| 沁阳市| 莱芜市| 柳州市| 贵德县| 贺州市| 苏尼特右旗| 阿图什市| 新绛县| 乐清市| 囊谦县| 神农架林区| 澳门| 县级市| 卓尼县| 赣榆县| 通渭县| 嵊泗县| 铜梁县| 无极县| 尼玛县| 宾阳县| 黄陵县| 鄂伦春自治旗| 景泰县| 岱山县| 通山县| 昭苏县| 乌兰察布市| 习水县| 新竹县| 高碑店市| 宁陵县|