Javascript結合css實現(xiàn)網(wǎng)頁換膚功能
更新時間:2009年11月02日 02:11:14 作者:
現(xiàn)在網(wǎng)站換皮膚是比較常見的功能,大多數(shù)論壇都有的,要想實現(xiàn)這樣效果可以看如下代碼.
Html代碼部分:
1.要有一個帶id的樣式表鏈接,我們要通過操作這個鏈接來調用不同的href.
<link href="css/main0.css" rel="stylesheet" type="text/css" id="cssfile" />
2.皮膚選擇按鈕(后臺為每個li添加onclick事件,觸發(fā)換膚功能)
<ul id="skin">
<li id="skin_0" title="灰色">灰色</li>
<li id="skin_1" title="綠色">綠色</li>
<li id="skin_2" title="黃色">黃色</li>
<li id="skin_3" title="藍色">藍色</li>
<li id="skin_4" title="粉色">粉色</li>
<li id="skin_5" title="紫色">紫色</li>
</ul>
Js部分:
1.換膚方法
//設置cookie,按鈕選中狀態(tài),頁面皮膚
skin.setSkin=function(n){
var skins =("skin").getElementsByTagName("li");
for (i=0;i<skins.length;i++)
{
skins[i].className="";//初始化按鈕狀態(tài)
}
skin.setCookie(n);//保存當前樣式
("skin_"+n).className="selected";//設置選中皮膚按鈕的樣式
("cssfile").href="css/main"+n+".css";//設置頁面樣式
}
2.存取cookie
//將當前皮膚n存到cookie
skin.setCookie=function(n){
var expires=new Date();
expires.setTime(expires.getTime()+24*60*60*365*1000);
var flag="Skin_Cookie="+n;
document.cookie=flag+";expires="+expires.toGMTString();
}
//返回用戶設置的皮膚樣式
skin.readCookie=function(){
var skin=0;
var mycookie=document.cookie;
var name="Skin_Cookie";
var start1=mycookie.indexOf(name+"=");
if(start1==-1){
skin=0;//如果沒有設置則顯示默認樣式
}
else{
var start=mycookie.indexOf("=",start1)+1;
var end=mycookie.indexOf(";",start);
if(end=-1){
end=mycookie.length;
}
var values= unescape(mycookie.substring(start,end));
if (values!=null)
{
skin=values;
}
}
return skin;
}
3.綁定換膚按鈕事件
skin.addEvent=function(){
var skins =("skin").getElementsByTagName("li");
for (i=0;i<skins.length;i++)
{
skins[i].onclick=function(){skin.setSkin(this.id.substring(5))};
}
}
4.頁面加載完成后設置皮膚樣式
window.onload=function(){
skin.setSkin(skin.readCookie());//根據(jù)讀取cookie返回值設置皮膚樣式
skin.addEvent();//綁定按鈕事件
1.要有一個帶id的樣式表鏈接,我們要通過操作這個鏈接來調用不同的href.
<link href="css/main0.css" rel="stylesheet" type="text/css" id="cssfile" />
2.皮膚選擇按鈕(后臺為每個li添加onclick事件,觸發(fā)換膚功能)
<ul id="skin">
<li id="skin_0" title="灰色">灰色</li>
<li id="skin_1" title="綠色">綠色</li>
<li id="skin_2" title="黃色">黃色</li>
<li id="skin_3" title="藍色">藍色</li>
<li id="skin_4" title="粉色">粉色</li>
<li id="skin_5" title="紫色">紫色</li>
</ul>
Js部分:
1.換膚方法
//設置cookie,按鈕選中狀態(tài),頁面皮膚
skin.setSkin=function(n){
var skins =("skin").getElementsByTagName("li");
for (i=0;i<skins.length;i++)
{
skins[i].className="";//初始化按鈕狀態(tài)
}
skin.setCookie(n);//保存當前樣式
("skin_"+n).className="selected";//設置選中皮膚按鈕的樣式
("cssfile").href="css/main"+n+".css";//設置頁面樣式
}
2.存取cookie
//將當前皮膚n存到cookie
skin.setCookie=function(n){
var expires=new Date();
expires.setTime(expires.getTime()+24*60*60*365*1000);
var flag="Skin_Cookie="+n;
document.cookie=flag+";expires="+expires.toGMTString();
}
//返回用戶設置的皮膚樣式
skin.readCookie=function(){
var skin=0;
var mycookie=document.cookie;
var name="Skin_Cookie";
var start1=mycookie.indexOf(name+"=");
if(start1==-1){
skin=0;//如果沒有設置則顯示默認樣式
}
else{
var start=mycookie.indexOf("=",start1)+1;
var end=mycookie.indexOf(";",start);
if(end=-1){
end=mycookie.length;
}
var values= unescape(mycookie.substring(start,end));
if (values!=null)
{
skin=values;
}
}
return skin;
}
3.綁定換膚按鈕事件
skin.addEvent=function(){
var skins =("skin").getElementsByTagName("li");
for (i=0;i<skins.length;i++)
{
skins[i].onclick=function(){skin.setSkin(this.id.substring(5))};
}
}
4.頁面加載完成后設置皮膚樣式
window.onload=function(){
skin.setSkin(skin.readCookie());//根據(jù)讀取cookie返回值設置皮膚樣式
skin.addEvent();//綁定按鈕事件
相關文章
JavaScript實現(xiàn)獲取設備網(wǎng)絡連接信息
作為前端開發(fā),做好用戶體驗是很重要的,日常開發(fā)中我們經(jīng)??梢杂龅接脩艟W(wǎng)速慢導致靜態(tài)資源加載慢,從而給影響用戶體驗,所以本文來和大家分享一個有趣的API,可以實現(xiàn)獲取網(wǎng)絡信息2023-05-05javascript中不易分清的slice,splice和split三個函數(shù)
這篇文章主要為大家詳細介紹了javascript中不易分清的slice,splice和split三個函數(shù),感興趣的小伙伴們可以參考一下2016-03-03JS實現(xiàn)仿Windows7風格的網(wǎng)頁右鍵菜單效果代碼
這篇文章主要介紹了JS實現(xiàn)仿Windows7風格的網(wǎng)頁右鍵菜單效果代碼,涉及JavaScript鼠標右鍵響應及動態(tài)生成頁面菜單的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09