js實(shí)現(xiàn)tab切換效果實(shí)例
直接先來個(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 橡樹小屋
*/
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庫實(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)文章
js實(shí)現(xiàn)界面向原生界面發(fā)消息并跳轉(zhuǎn)功能
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)界面向原生界面發(fā)消息并跳轉(zhuǎn)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11
require導(dǎo)入module.exports 或 exports導(dǎo)出的使用方法
module.exports用于導(dǎo)出整個(gè)模塊的內(nèi)容,可以通過賦值給 module.exports 導(dǎo)出一個(gè)對(duì)象、函數(shù)或值,導(dǎo)出的內(nèi)容可以被其他模塊通過require 導(dǎo)入,本文給大家介紹require導(dǎo)入module.exports 或 exports導(dǎo)出的使用,感興趣的朋友一起看看吧2023-11-11
簡(jiǎn)單實(shí)用的js調(diào)試logger組件實(shí)現(xiàn)代碼
開發(fā)js組件的時(shí)間調(diào)試總是麻煩的,最常用的就是用alert或者debugger來測(cè)試js的運(yùn)行狀態(tài)。2010-11-11
jQuery檢測(cè)輸入的字符串包含的中英文的數(shù)量
這篇文章主要介紹了jQuery檢測(cè)輸入的字符串包含的中英文的數(shù)量的實(shí)現(xiàn)方法,非常的實(shí)用,這里推薦給小伙伴,有需要的朋友可以參考下。2015-04-04
js arguments.callee的應(yīng)用代碼
arguments.callee的使用方法,具體大家自己測(cè)試了2009-05-05

