動(dòng)態(tài)調(diào)用css文件——jquery的應(yīng)用
算是翻譯吧,原文:http://15daysofjquery.com/style-sheet-switcheroo/12/
可以應(yīng)用的范圍很廣,尤其是用標(biāo)準(zhǔn)構(gòu)架的網(wǎng)站,比如說pjblog就可以,只要通過簡單的點(diǎn)擊,就可以讓網(wǎng)站在瞬間換個(gè)皮膚,當(dāng)然可以通過其他方法實(shí)現(xiàn),這里通過jquery來實(shí)現(xiàn),優(yōu)點(diǎn)是代碼簡潔,可讀性強(qiáng)
首先放上代碼
$(document).ready(function()
{
$(’.styleswitch’).click(function()
{
switchStylestyle(this.getAttribute("rel"));
return false;
});
var c = readCookie(’style’);
if (c) switchStylestyle(c);
});
function switchStylestyle(styleName)
{
$(’link[@rel*=style]’).each(function(i)
{
this.disabled = true;
if (this.getAttribute(’title’) == styleName) this.disabled = false;
});
createCookie(’style’, styleName, 365);
}
這里說明一下:
$(’.styleswitch’).click
readCookie和createCookie是兩個(gè)自定義函數(shù),這里沒有給出來
$(’link[@rel*=style]’).each(function(i)
這句話的意思是定位到link標(biāo)簽,其中有rel屬性,并且rel屬性里要包含style,對(duì)每一個(gè)這樣的對(duì)象制定函數(shù)
this.disabled = true;
這句話的意思是使當(dāng)前的對(duì)象失效
function switchStylestyle(styleName)
{
$(’link[@rel*=style][@title]’).each(function(i)
{
this.disabled = true;
if (this.getAttribute(’title’) == styleName) this.disabled = false;
});
createCookie(’style’, styleName, 365);
}
這個(gè)函數(shù)的作用就是選擇當(dāng)前的樣式
$(’link[@rel*=style][@title]’).each(function(i)
有了前面的知識(shí),這句話應(yīng)該就不難理解了吧,就是所有標(biāo)簽名為link,包含rel屬性,且rel屬性里要包含style,同時(shí)還要有title屬性的對(duì)象,每一個(gè)都執(zhí)行相應(yīng)的函數(shù)
下面來看看主頁面的內(nèi)容
<link rel="stylesheet" type="text/css" href="styles1.css" title="styles1" media="screen" />
<link rel="alternate stylesheet" type="text/css" href="styles2.css" title="styles2" media="screen" />
<link rel="alternate stylesheet" type="text/css" href="styles3.css" title="styles3" media="screen" />
這里rel="alternate stylesheet",使得當(dāng)前的css不會(huì)應(yīng)用到當(dāng)前的文檔,而只是備用
<li><a href="serversideSwitch.html?style=style1" rel="styles1" class="styleswitch">styles1</a></li>
<li><a href="serversideSwitch.html?style=style2" rel="styles2" class="styleswitch">styles2</a></li>
<li><a href="serversideSwitch.html?style=style3" rel="styles3" class="styleswitch">styles3</a></li>
這些就是點(diǎn)擊后改變樣式部分的代碼,我們注意到有rel屬性,有class屬性,這些都是方便定位用的 示例:http://www.healdream.com/upLoad/html/jquery/styleswitch/
相關(guān)文章
jQuery學(xué)習(xí)筆記之jQuery原型屬性和方法
這篇文章主要介紹了jQuery原型屬性和方法,,需要的朋友可以參考下2014-06-06
jquery load事件(callback/data)使用方法及注意事項(xiàng)
jquery load 事件使用方法,在網(wǎng)上有很多的相關(guān)介紹文章,不過大同小異,本文老生長談,也介紹一下load事件使用方法,感興趣的朋友可以了解下,或許對(duì)你學(xué)習(xí)jquery有所幫助2013-02-02
jQuery+css實(shí)現(xiàn)非常漂亮的水平導(dǎo)航菜單效果
這篇文章主要介紹了jQuery+css實(shí)現(xiàn)非常漂亮的水平導(dǎo)航菜單效果,通過each方法遍歷元素再使用removeClass與addClass變換頁面元素樣式實(shí)現(xiàn)導(dǎo)航菜單的切換效果,需要的朋友可以參考下2016-07-07
jquery實(shí)現(xiàn)倒計(jì)時(shí)代碼分享
最近做的項(xiàng)目,需要倒計(jì)時(shí),翻了翻資料,寫了出來,分享給大家,歡迎拍磚,jquery庫自己記得引用哈2014-06-06
jquery實(shí)現(xiàn)兼容瀏覽器的圖片上傳本地預(yù)覽功能
圖片上傳本地預(yù)覽功能代碼在網(wǎng)上可以搜索很多,但同時(shí)可以兼容瀏覽器的話就多了,本文有個(gè)不錯(cuò)的示例,感興趣的朋友可以參考下2013-10-10

