|
可以應用的范圍很廣,尤其是用標準構架的網站,比如說pjblog就可以,只要通過簡單的點擊,就可以讓網站在瞬間換個皮膚,當然可以通過其他方法實現,這里通過jquery來實現,優點是代碼簡潔,可讀性強
首先放上代碼
復制代碼 代碼如下:
$(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
這一句是對所有classname為styleswitch的對象定義點擊事件,在jquery里用"#"表示id,比如$("#my_id")就可以定位到id為my_id的對象,定位classname為".",而定位tagName則不加任何修飾符,比如$("p"),就是定位到所有p對象
readCookie和createCookie是兩個自定義函數,這里沒有給出來
復制代碼 代碼如下:
$('link[@rel*=style]').each(function(i)
這句話的意思是定位到link標簽,其中有rel屬性,并且rel屬性里要包含style,對每一個這樣的對象制定函數
復制代碼 代碼如下:
this.disabled = true;
這句話的意思是使當前的對象失效
復制代碼 代碼如下:
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);
}
這個函數的作用就是選擇當前的樣式
$('link[@rel*=style][@title]').each(function(i)
有了前面的知識,這句話應該就不難理解了吧,就是所有標簽名為link,包含rel屬性,且rel屬性里要包含style,同時還要有title屬性的對象,每一個都執行相應的函數
下面來看看主頁面的內容
復制代碼 代碼如下:
<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",使得當前的css不會應用到當前的文檔,而只是備用
復制代碼 代碼如下:
<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>
這些就是點擊后改變樣式部分的代碼,我們注意到有rel屬性,有class屬性,這些都是方便定位用的 示例:http://www.healdream.com/upLoad/html/jquery/styleswitch/
下載:http://www.51files.com/?YTXG82NKA8FA6TIKE4M0
JavaScript技術:動態調用css文件――jquery的應用,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。