2012-03-22 62 views
1

您好我有一個網頁,我有四個不同的樣式表這樣如何使用jquery動態切換樣式表?

 <link rel="Stylesheet" href="fancydropdown.css" title="style-1" type="text/css" /> 
     <link rel="Alternate" href="fancydropdown_1.css" title="style-2" type="text/css" /> 
     <link rel="Alternate" href="fancydropdown_2.css" title="style-3" type="text/css" /> 
     <link rel="Alternate" href="fancydropdown_3.css" title="style-4" type="text/css" /> 

這是我的HTML

<div id="menu"> 
    <ul class="tabs"> 
<li><h4><a href="#">In the blog &raquo;</a></h4></li> 
<li class="hasmore"><a href="#"><span>Styles</span></a> 
    <ul class="dropdown"> 
     <li><a href="#" rel="style-1">style-1</a></li> 
     <li><a href="#" rel="style-2">style-2</a></li> 
     <li><a href="#" rel="style-3">style-3</a></li> 
     <li><a href="#" rel="style-4">style-4</a></li>    
     <li class="last"><a href="#">Menu item 6</a></li> 
    </ul> 
</li> 
<li class="hasmore"><a href="#"><span>Topics</span></a> 
    <ul class="dropdown"> 
     <li><a href="#">Topic 1</a></li> 
     <li><a href="#">Topic 2</a></li> 
     <li><a href="#">Topic 3</a></li> 
     <li class="last"><a href="#">Topic 4</a></li> 
    </ul> 
</li> 
<li><h4><a href="#">Elsewhere &raquo;</a></h4></li> 
<li><a href="#"><span>About</span></a></li> 
<li class="hasmore"><a href="#"><span>Networks</span></a> 
    <ul class="dropdown"> 
     <li><a href="#">Twitter</a></li> 
     <li><a href="#">posterous</a></li> 
     <li><a href="#">SpeakerSite</a></li> 
     <li><a href="#">LinkedIn</a></li> 
     <li class="last"><a href="#">See more&hellip;</a></li> 
    </ul> 
</li> 
<li><a href="#"><span>Bookmarks</span></a></li> 

這是我的下拉類

 <ul class="dropdown"> 
     <li><a href="#" rel="style-1">style-1</a></li> 
     <li><a href="#" rel="style-2">style-2</a></li> 
     <li><a href="#" rel="style-3">style-3</a></li> 
     <li><a href="#" rel="style-4">style-4</a></li>    
     <li class="last"><a href="#">Menu item 6</a></li> 
    </ul> 

當我點擊風格1和所以樣式表應該改變.....我怎樣才能使用jQuery來做到這一點?誰能幫我?

請給我提供圖書館的用來?

+0

一個簡單的谷歌搜索會sufice。 – machineaddict 2012-03-22 06:36:54

+0

我試了幾個例子,但沒有運氣..樣式表不chnaging - @ machineaddict – SoftwareNerd 2012-03-22 06:44:12

+0

你檢查了任何JavaScript錯誤?你應該使用螢火蟲 – machineaddict 2012-03-22 15:38:17

回答

0

您只需更改樣式表的HREF。

... HEAD 
<link rel="Stylesheet" href="style1.css" > 

... BODY 
<ul class="dropdown"> 
    <li><a data-stylesheet="style1.css">style 1</a></li> 
    <li><a data-stylesheet="style2.css">style 2</a></li> 
    <li><a data-stylesheet="style3.css">style 3</a></li> 
</ul> 

... SCRIPT 
$('.dropdown a').click(function(ev){ 
    ev.preventDefault(); 
    $('link').attr('href',$(this).data('stylesheet')); 
}); 
+0

其工作,但CSS不適用於頁面... – SoftwareNerd 2012-03-22 07:04:18

+0

我必須做任何改變href .. – SoftwareNerd 2012-03-22 07:07:07

+0

只是做一個樣式表,並改變href。你設置樣式表的方式很奇怪。我會改變我的答案,向你展示更好的方式。 – 2012-03-22 14:55:57

0

請嘗試以下工作正常。觀看演示這裏http://jsfiddle.net/fLzck/

<ul class="dropdown"> 
      <li><a href="#" rel="style-1.css">style-1</a></li> 
      <li><a href="#" rel="style-2.css">style-2</a></li> 
      <li><a href="#" rel="style-3.css">style-3</a></li> 
      <li><a href="#" rel="style-4.css">style-4</a></li>    
      <li class="last"><a href="#">Menu item 6</a></li> 
     </ul> 

$(".dropdown a").click(function() { 
    var thisRel = $(this).attr('rel'); 
    //alert(thisRel); 
    $("link[rel='stylesheet']").attr('href', thisRel); 
})​