現在的網頁設計越來越講究風格和美觀,為了給用戶更好的體驗,提供換膚功能已經成為很多網站的必備選項之一。而實現換膚最重要的就是css樣式的更改。但是,如果css代碼過于散亂,就很難方便地進行更改和維護。
//例如: /*黃色主題*/ body { background: #F2A900; } .nav { background: #C88000; color: #FFF; } ... /*綠色主題*/ body { background: #70CA79; } .nav { background: #44833E; color: #FFF; } ...
如上所示,如果每個元素都有自己特殊的顏色以供更改,代碼就會變得十分冗余。所以,最好的實現方式就是把要改變的元素的類名提取出來,再賦予一個特定的類名,這個特定的類名就是已經設計好的樣式。
/*css代碼*/ /* 黃色主題 */ .skin-yellow { background: #F2A900; } .skin-yellow .nav { background: #C88000; color: #FFF; } ... /* 綠色主題 */ .skin-green { background: #70CA79; } .skin-green .nav { background: #44833E; color: #FFF; } ...
在上面的代碼中,我們提取出需要更改樣式的元素類名,例如,.nav就是一個需要更改樣式的類名。而.skin-yellow和.skin-green則是已經設計好的樣式類名,這些樣式可能包括更改顏色、字體等等。這樣安排,不僅使得代碼更加規范簡潔,同時也為設計提供了更加便捷的實現方法。
實現換膚的話,只需要動態地替換class名即可。例如:更換皮膚為綠色皮膚。
//Jquery代碼 $("#skin-green").click(function(){ //移除原本的皮膚樣式 $("body").removeClass().addClass("skin-green"); });
執行這段代碼后,原本的皮膚樣式將被remove掉,而.skin-green樣式則加上。這樣,頁面的皮膚就換成了綠色的。
總之,散亂的css代碼雖然在實現樣式效果方面沒有問題,但卻會給維護和修改帶來很大的困難,不利于后期的升級和維護。換膚的功夫也較為簡單,只需要把需要更改顏色等的元素類名提取出來,為其賦一個特定的class名,然后通過動態更改class名來實現換膚。
上一篇0基礎學jquery
下一篇15種翻頁jquery