tab选项卡js效果

来源:互联网 发布:linux部署svn服务器 编辑:程序博客网 时间:2024/04/29 15:39

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>tab选项卡,滑动门导航代码</title>
<style type="text/css">
*{ padding:0; margin:0;}
.block{ display:block;}
.none{ display:none;}
#wrap,#wraps{ width:500px; height:230px; overflow:hidden; margin:50px auto;}
#diya,#diyas{ list-style:none;}
#diya li,#diyas li{ width:66px; height:28px; border:1px solid #09C; text-align:center; line-height:28px; float:left; cursor:pointer; margin-right:3px;}
#diyas li:hover{ background:#CCC;}
#diya li.on,#diyas li.on{ background:#9C3;}
#wrap div,#wraps div{ width:498px; height:198px; border:1px solid #000;}
</style>
</head>

<body>

<div id="wrap">
<ul id="diya">
<li class="on">第一项</li>
<li>第二项</li>
<li>第三项</li>
</ul>
<br clear="all" />
<div class="block">第一部分</div>
<div class="none">第二部分</div>
<div class="none">第三部分</div>
</div>


<div id="wraps">
<ul id="diyas">
<li class="on">第一项</li>
<li>第二项</li>
<li>第三项</li>
</ul>
<br clear="all" />
<div class="block">第一部分</div>
<div class="none">第二部分</div>
<div class="none">第三部分</div>
</div>
</body>
</html>
<script type="text/javascript">
tab("wrap","diya","mouseover")
tab("wraps","diyas")

function tab(wrap,navul,eve){
//tab效果封装,目前只有两种变换方式,一种为点击事件click(也是默认事件),另外一种为鼠标移过事件mouseover
var divs=document.getElementById(wrap).getElementsByTagName("div");
var lis=document.getElementById(navul).getElementsByTagName("li");

for(var i=0;i<lis.length;i++){
lis[i].indx=i;

if(eve=="click" || eve==null){
lis[i].onclick=function(){
 for(i=0;i<lis.length;i++){
  
  lis[i].className="";
  divs[i].className="none"
  
  this.className="on";
  divs[this.indx].className="block";
  }
 }
}else if(eve=="mouseover"){
 lis[i].onmouseover=function(){
  for(i=0;i<lis.length;i++){
  lis[i].className="";
  divs[i].className="none";
  
  this.className="on";
  divs[this.indx].className="block";
   }
  }
 }
}
}
</script>