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