2017-05-30 35 views
-2

我收到了一個問題給你的傢伙。 我做了一個網站,主要是有一些像顏色,高度,寬度等屬性的格柵... Looks of website 這些樣式是在'bord.css'。現在,我有一個腳本,通過單擊「更改樣式」按鈕,將目標更改爲另一個名爲'bord2.css'的CSS文件。這工作!通過使用if-else語句,它會嘗試檢查它是'bord.css'還是'bord2.css',並不斷地將其改回。在if-else的某處,它崩潰並且不顯示原始CSS文件。按鈕點擊更改爲其他CSS文件並返回{JavaScript,jQuery}

$('#change-look').click(function(){ 
    if($('link[href]' == "style/bord.css")) { 
     $('link[href="style/bord.css"]').attr('href','style/bord2.css'); 
    } else { 
     $('link[href="style/bord2.css"]').attr('href','style/bord.css'); 
    } 
}); 

感謝您的幫助!

問候 點Pj

+0

我想你回答了你自己的問題... – JeffUK

+0

@JeffUK我的代碼似乎很有前途,但它執行不好。就像我說的,按鈕點擊可以用於CSS的第一次更改。但是再次點擊什麼都不會:( – PieterjanP

回答

0

我建議。相反,有兩個不同的.css文件中,創建一個像這樣兩個不同的CSS類:

CSS:

.boardA{ 
} 
.boardB{ 
} 

並考慮你的HTML看起來像這樣:

HTML:

<div class='boardA' id="chessBoard"></div> 

然後在您單擊事件中,而不是更改.css文件,而是切換類。

JS

$('#change-look').click(function(){ 
     var chessBoard = $("#chessBoard"); 
     if(chessBoard.hasClass('boardA')){ 
      chessBoard.removeClass('boardA'); 
      chessBoard.addClass('boardB'); 
     } 
     else{ 
      chessBoard.removeClass('boardB'); 
      chessBoard.addClass('boardA'); 
     } 
    }); 

我知道這是不是直接回答你的問題,我也知道,如果交換完成.css文件是一個很好的做法或沒有,但我用這個方法幾十次無任何問題。

祝你好運!

+0

)感謝您的幫助!真的很感激它,但是我必須使用2個不同的CSS文件,這是任務的一部分,它必須這樣做: – PieterjanP

+0

:(太糟糕了,我會關注這個帖子,我也對如何可靠地做到這一點感興趣。 –