js實(shí)現(xiàn)tab切換效果實(shí)例
直接先來(lái)個(gè)真相吧:
【HTML代碼】
<div id="menu"> <!--tag標(biāo)題--> <ul id="nav"> <li><a href="#" class="selected">tab1</a></li> <li><a href="#" class="">tab2</a></li> <li><a href="#" class="">tab3</a></li> <div style="clear:both"></div> </ul> <!--二級(jí)菜單--> <div id="menu_con"> <div class="tag" style="display:block"> 這是TAB切換效果區(qū)域1 </div> <div class="tag" style="display:none"> 這是TAB切換效果區(qū)域2 </div> <div class="tag" style="display:none"> 這是TAB切換效果區(qū)域3 </div> </div> </div>
【js】
/** * tabs * @author 橡樹(shù)小屋 */ var tabs=function(){ function tag(name,elem){ return (elem||document).getElementsByTagName(name); } //獲得相應(yīng)ID的元素 function id(name){ return document.getElementById(name); } function first(elem){ elem=elem.firstChild; return elem&&elem.nodeType==1? elem:next(elem); } function next(elem){ do{ elem=elem.nextSibling; }while( elem&&elem.nodeType!=1 ) return elem; } return { set:function(elemId,tabId){ var elem=tag("li",id(elemId)); var tabs=tag("div",id(tabId)); var listNum=elem.length; var tabNum=tabs.length; for(var i=0;i<listNum;i++){ elem[i].onclick=(function(i){ return function(){ for(var j=0;j<tabNum;j++){ if(i==j){ tabs[j].style.display="block"; //alert(elem[j].firstChild); elem[j].firstChild.className="selected"; } else{ tabs[j].style.display="none"; elem[j].firstChild.className=""; } } } })(i) } } } }(); window.onload=function(){ tabs.set("nav","menu_con"); }
【CSS】
body{ background:#FFF;} a{color:#585858} #menu{width:360px;} /*-------------------nav樣式----------------------*/ #menu #nav {display:block;width:100%;padding:0;margin:0;list-style:none; background:url(../images/bg.gif)} #menu #nav li {float:left;width:120px;} #menu #nav li a {display:block;line-height:27px;text-decoration:none;padding:0 0 0 5px; text-align:center} /*-------------------列表標(biāo)題樣式----------------------*/ #menu_con{ width:358px; height:135px;border:1px solid #BF9660; border-top:none} .selected{background:url(../images/tag_bg.gif);} .clear{ clear:both}
調(diào)用方法:
tabs.set("nav","menu_con");
代碼下載 點(diǎn)擊這里
這個(gè)實(shí)例只是簡(jiǎn)單實(shí)現(xiàn)了點(diǎn)擊切換的效果,還有許多功能可以添加,大家一起動(dòng)手實(shí)踐一下吧。
- JS基于myFocus庫(kù)實(shí)現(xiàn)各種功能的tab選項(xiàng)卡切換效果
- js實(shí)現(xiàn)TAB切換對(duì)應(yīng)不同顏色的代碼
- js實(shí)現(xiàn)仿百度風(fēng)云榜可重復(fù)多次調(diào)用的TAB切換選項(xiàng)卡效果
- JS+CSS實(shí)現(xiàn)滑動(dòng)切換tab菜單效果
- 簡(jiǎn)單純js實(shí)現(xiàn)點(diǎn)擊切換TAB標(biāo)簽實(shí)例
- js實(shí)現(xiàn)點(diǎn)擊切換TAB標(biāo)簽實(shí)例
- 原生js與jQuery實(shí)現(xiàn)簡(jiǎn)單的tab切換特效對(duì)比
- jQuery插件zepto.js簡(jiǎn)單實(shí)現(xiàn)tab切換
- js+css實(shí)現(xiàn)tab菜單切換效果的方法
- JS實(shí)現(xiàn)淡藍(lán)色簡(jiǎn)潔豎向Tab點(diǎn)擊切換效果
相關(guān)文章
ichart.js繪制虛線、平均分虛線效果的實(shí)現(xiàn)代碼
下面小編就為大家?guī)?lái)一篇ichart.js繪制虛線、平均分虛線效果的實(shí)現(xiàn)代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考2016-05-05JS選中checkbox后獲取table內(nèi)一行TD所有數(shù)據(jù)的方法
這篇文章主要介紹了JS選中checkbox后獲取table內(nèi)一行TD所有數(shù)據(jù)的方法,涉及javascript針對(duì)table元素遍歷與獲取的技巧,需要的朋友可以參考下2015-07-07Lottie動(dòng)畫(huà)前端開(kāi)發(fā)使用技巧
這篇文章主要為大家介紹了Lottie動(dòng)畫(huà)前端開(kāi)發(fā)使用技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Bootstrap選項(xiàng)卡與Masonry插件的完美結(jié)合
這篇文章主要介紹了Bootstrap選項(xiàng)卡與Masonry插件的完美結(jié)合的相關(guān)資料,需要的朋友可以參考下2016-07-07微信小程序?qū)崿F(xiàn)圖片上傳功能實(shí)例(前端+PHP后端)
這篇文章主要給大家介紹了關(guān)于微信小程序?qū)崿F(xiàn)圖片上傳功能的相關(guān)內(nèi)容,文中詳細(xì)介紹了前端+PHP后端的示例代碼,對(duì)大家的理解和學(xué)習(xí)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01json數(shù)據(jù)處理技巧(字段帶空格、增加字段、排序等等)
json數(shù)據(jù)處理技巧例如:正常取值、字段帶空格、賦值、增加字段、排序、拷貝、數(shù)組添加和刪除等,詳細(xì)請(qǐng)參考本文或許對(duì)你有所幫助2013-06-06