js實現(xiàn)簡單的網(wǎng)頁換膚效果

中心思想:網(wǎng)頁換膚的原理就是通過調(diào)用不同的樣式表文件來實現(xiàn)不同的皮膚切換,并且需要將換好的皮膚計入Cookie中,這樣用戶已下次訪問時,就可以顯示用戶自定義皮膚了
步驟:
1.在設計HTML代碼時,用了一些小技巧,就是將皮膚選擇按鈕<li>元素的id與網(wǎng)頁皮膚的樣式文件名稱設置的相同。這樣就可以使完成換膚操作簡化很多。
2.HTML結(jié)構(gòu)要有一個帶id的樣式表鏈接,通過操作該鏈接的herf屬性的值,從而實現(xiàn)換膚
<link rel="stylesheet" href="css/skin_0.css" id="cssfile"/>
3. 根據(jù)當前的li的id,通過attr()方法為<link>元素的href屬性設置不同的值代碼如下:
var $li = $("#skin li");
$li.click(function () {
$("#"+this.id).addClass("selected")
.siblings().removeClass("selected");
$("#cssfile").attr("href","css/"+this.id+".css");
});
4. 當單機皮膚選擇按鍵時候就可以切開皮膚了。但是當用戶刷新網(wǎng)頁或者關閉瀏覽起后,皮膚會被初始化,因此需要將當前選擇的皮膚進行保存(jQuery中有一款Cookie插件),它簡化了Cookie的操作。
//將皮膚保存進cookie
$.cookie("myCssSkin",this.id,{path:'/',expires:10});
保存后,就可以通過Cookie來獲取當前的皮膚了,如果Cookie確實存在,則將當前設置為Cookie記錄的值:
//獲取Cookie中的皮膚
var cookie_skin = $.cookie("myCssSkin");
//判斷皮膚存不存在
if (cookie_skin){
switchSkin(cookie_skin);
}
//設置cookid中的皮膚
function switchSkin(skinName) {
$("#"+skinName).addClass("selected")
.siblings().removeClass("selected");
$("#cssfile").attr("href","css/"+skinName+".css");
$.cookie("myCssSkin",skinName,{path:'/',expires:10});
}
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關文章
javascript中clipboardData對象用法詳解
這篇文章主要介紹了javascript中clipboardData對象用法,詳細分析了clipboardData對象的功能及相關使用技巧,需要的朋友可以參考下2015-05-05
JavaScript talbe表中指定位置插入一行的實現(xiàn)代碼 腳本之家修正版
用js實現(xiàn)的在table中指定的位置插入一行,先點一下表中你想插入的位置,點擊即可。2009-06-06
ionic js 模型 $ionicModal 可以遮住用戶主界面的內(nèi)容框
這篇文章主要介紹了ionic js 模型 $ionicModal 可以遮住用戶主界面的內(nèi)容框的相關資料,需要的朋友可以參考下2016-06-06
JavaScript實現(xiàn)常用二級省市級聯(lián)下拉列表的方法
這篇文章主要介紹了JavaScript實現(xiàn)常用二級省市級聯(lián)下拉列表的方法,實例分析了javascript實現(xiàn)級聯(lián)下拉列表的技巧與相關的元素操作方法,需要的朋友可以參考下2015-03-03
webpack.DefinePlugin與cross-env區(qū)別詳解
這篇文章主要介紹了webpack.DefinePlugin與cross-env區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-02-02

