js實(shí)現(xiàn)單一html頁(yè)面兩套css切換代碼
第一步:在連接樣式表的元素里定義一個(gè)id,例如
<link href=”1.css” rel=”stylesheet” type=”text/css” id=”css”>
我定義的id是css。
第二步:寫(xiě)一個(gè)js函數(shù),代碼如下:
<script type=”text/javascript”>
function change(a){
var css=document.getElementById(“css”);
if (a==1)
css.setAttribute(“href”,”1.css”);
if (a==2)
css.setAttribute(“href”,”2.css”);
}
</script>
這個(gè)函數(shù)的code可以放在頁(yè)面的任何地方。
第三步:為改變頁(yè)面的樣式表的連接添加一個(gè)函數(shù)的觸發(fā)事件,代碼如下:
<a href=”#” onClick=”change(1)”>1.css</a>
<a href=”#” onClick=”change(2)”>2.css</a>
該效果在IE和FF下均測(cè)試通過(guò),相信大家看完后因該非常明了,利用這個(gè)方法我們可以讓瀏覽者自己選擇需要顯示的樣式表,比如年老者可以選擇一個(gè)字體較大的樣式表。這里需要注意的兩點(diǎn)是:
在這個(gè)例子中函數(shù)名function后面的名字不能為links或者link,如果為links或者link,樣式表將不被改變,具體什么原因我也不大清楚,可能是javascript的保留字符。
另外如果是改變整個(gè)頁(yè)面的樣式,你需要在樣式表文件里定義body的高度為100%
方法二:
第一步:導(dǎo)入兩套css文件
<link rel="stylesheet" type="text/css" title="樣式A" href="css/people1.css" />
<link rel="alternate stylesheet" type="text/css" title="樣式B" href="css/people2.css" />
第二步:寫(xiě)切換的js函數(shù)
<script type="text/javascript">
var title = "樣式A";
function setStyle(){
//只是樣式A 和樣式B切換
if(title=="樣式A"){
title = "樣式B";
}else{
title = "樣式A";
}
var i,links;
//用dom方法獲取所有l(wèi)ink元素
links = document.getElementsByTagName("link");
//判斷每個(gè)link元素中是否含有style字符串 ,用來(lái)判斷此link元素為樣式表link ,同時(shí)判斷此link是否包含title屬性
for(i=0; links[i]; i++){
if(links[i].getAttribute("rel").indexOf("style") != -1 && links[i].getAttribute("title")){
//把所有l(wèi)ink設(shè)為disabled
links[i].disabled = true;
//再來(lái)判斷title中是否有指定的title字符串 有則把當(dāng)前的link設(shè)為可視 即激活當(dāng)前的link
if(links[i].getAttribute("title").indexOf(title) != -1){
links[i].disabled = false;
//alert("ok");
}
}
}
}
</script>
第三步:在html標(biāo)簽中調(diào)用切換的js函數(shù)
<a href="#" onclick="setStyle();" >1</a>
<a href="#" onclick="setStyle();">2</a>
<a href="#" onclick="setStyle();">3</a>
<a href="#" onclick="setStyle();">4</a>
<a href="#" onclick="setStyle();">5</a>
- 簡(jiǎn)單實(shí)現(xiàn)js頁(yè)面切換功能
- js實(shí)現(xiàn)的鼠標(biāo)滾輪滾動(dòng)切換頁(yè)面效果(類似360默認(rèn)頁(yè)面滾動(dòng)切換效果)
- echarts同一頁(yè)面中四個(gè)圖表切換的js數(shù)據(jù)交互方法示例
- 基于JS實(shí)現(xiàn)翻書(shū)效果的頁(yè)面切換樣式
- 使用AngularJS實(shí)現(xiàn)可伸縮的頁(yè)面切換的方法
- javascript單頁(yè)面手勢(shì)滑屏切換原理詳解
- JavaScript實(shí)現(xiàn)鼠標(biāo)滾輪控制頁(yè)面圖片切換功能示例
- jQuery實(shí)現(xiàn)切換頁(yè)面過(guò)渡動(dòng)畫(huà)效果
- jquery結(jié)合html實(shí)現(xiàn)中英文頁(yè)面切換
- JavaScript/jQuery實(shí)現(xiàn)切換頁(yè)面效果
相關(guān)文章
JavaScript使用Promise控制并發(fā)請(qǐng)求
當(dāng)我們需要同時(shí)處理多個(gè)請(qǐng)求時(shí),如何避免請(qǐng)求之間的沖突和混亂呢,這就是今天我們要探討的話題——如何使用Promise控制并發(fā)請(qǐng)求,感興趣的可以了解一下2023-06-06LayUi使用switch開(kāi)關(guān),動(dòng)態(tài)的去控制它是否被啟用的方法
今天小編就為大家分享一篇LayUi使用switch開(kāi)關(guān),動(dòng)態(tài)的去控制它是否被啟用的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09js 點(diǎn)擊a標(biāo)簽 獲取a的自定義屬性方法
下面小編就為大家?guī)?lái)一篇js 點(diǎn)擊a標(biāo)簽 獲取a的自定義屬性方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11JavaScript表單驗(yàn)證實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了JavaScript表單驗(yàn)證的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05原生js添加節(jié)點(diǎn)appendChild、insertBefore方式
這篇文章主要介紹了原生js添加節(jié)點(diǎn)appendChild、insertBefore方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10javascript 獲取網(wǎng)頁(yè)參數(shù)系統(tǒng)
用處比較多,適合在當(dāng)前網(wǎng)頁(yè)打開(kāi)別的網(wǎng)站的內(nèi)容2008-07-07JavaScript每天必學(xué)之?dāng)?shù)組和對(duì)象部分
JavaScript每天必學(xué)之?dāng)?shù)組和對(duì)象部分,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09JS中精巧的自動(dòng)柯里化實(shí)現(xiàn)方法
給大家詳細(xì)分析了JS中精巧的自動(dòng)柯里化實(shí)現(xiàn)方法并通過(guò)代碼實(shí)例分析了過(guò)程和原理,參考學(xué)習(xí)下吧。2017-12-12js兼容pc端瀏覽器并有多種彈出小提示的手機(jī)端浮層控件實(shí)例
這篇文章主要介紹了js兼容pc端瀏覽器并有多種彈出小提示的手機(jī)端浮層控件,實(shí)例分析了javascript多種彈出層效果的實(shí)現(xiàn)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04