js Tab切换效果

 1 var tabs=function(){
 2     function tag(name,elem){
 3         return (elem||document).getElementsByTagName(name);
 4     }
 5     //获得相应ID的元素
 6     function id(id){
 7         return document.getElementById(id);
 8     }
 9     function first(elem){
10         elem=elem.firstChild;
11         return elem&&elem.nodeType==1? elem:next(elem);
12     }
13     function next(elem){
14         do{
15             elem=elem.nextSibling;
16         }while(
17             elem&&elem.nodeType!=1
18         )
19         return elem;
20     }
21     return {
22         set:function(elemId,tabId){
23             var elem=tag("li",id(elemId));
24             var tabs=tag("div",id(tabId));
25             var listNum=elem.length;
26             var tabNum=tabs.length;
27             for(var i=0;i<listNum;i++){
28                     elem[i].onclick=(function(i){
29                         return function(){
30                             for(var j=0;j<tabNum;j++){
31                                 if(i==j){
32                                     tabs[j].style.display="block";
33                                     //alert(elem[j].firstChild);
34                                     elem[j].firstChild.className="selected";
35                                 }
36                                 else{
37                                     tabs[j].style.display="none";
38                                     elem[j].firstChild.className="";
39                                 }
40                             }
41                         }
42                     })(i)
43             }
44         }
45     }
46 }();
47 tabs.set("nav","menu");//执行
  1 <!DOCTYPE html>
  2 <html>
  3 <head>
  4 <meta charset="utf-8">
  5 <title>网站首页</title>
  6 <style>
  7 * {
  8     margin: 0;
  9     padding: 0;
 10     border: 0;
 11 }
 12 .he {
 13     width: 700px;
 14     height: 200px;
 15     margin: 20px auto;
 16     border: 1px solid #E5E5E5;
 17     position: relative;
 18 }
 19 ul, ul li {
 20     list-style: none;
 21     float: left;
 22 }
 23 .top li {
 24     width: 160px;
 25     height: 40px;
 26     line-height: 40px;
 27     text-align: center;
 28     border-right: 1px solid #e6e6e6;
 29     border-bottom: 1px solid #e6e6e6;
 30     color: #777777;
 31     font-family: 微软雅黑;
 32     cursor:pointer;
 33 }
 34 .top li:hover{
 35     background-color:#fff;
 36     border-bottom:0;
 37     border-top:2px solid #F08F04;
 38 }
 39 .top:hover{
 40     border-bottom:0;
 41
 42 }
 43 .top {
 44     width: 700px;
 45     height: 40px;
 46     background-color: #FCFCFC;
 47     border-bottom: 1px solid #e6e6e6;
 48 }
 49 span {
 50     color: #f60;
 51     position: absolute;
 52     right: 20px;
 53     margin-top: 15px;
 54     font-size: 13px;
 55 }
 56
 57 </style>
 58 </head>
 59 <body>
 60 <div class="he">
 61   <ul class="top">
 62     <li>换乘查询</li>
 63     <li>线路查询</li>
 64     <li >站点查询</li>
 65   </ul>
 66   <span>切换城市</span>
 67 <div id="menu">
 68         <div class="tag" style="display:block">
 69           aaaaaa
 70          </div>
 71         <div class="tag" style="display:none">
 72             bbbbbb
 73          </div>
 74         <div class="tag"  style="display:none">
 75            ccccc
 76         </div>
 77 </div>
 78
 79 </div>
 80 </body>
 81 </html>
 82 <script>
 83 var tabs=function(){
 84     function tag(name,elem){
 85         return (elem||document).getElementsByTagName(name);
 86     }
 87     //获得相应ID的元素
 88     function id(id){
 89         return document.getElementById(id);
 90     }
 91     function first(elem){
 92         elem=elem.firstChild;
 93         return elem&&elem.nodeType==1? elem:next(elem);
 94     }
 95     function next(elem){
 96         do{
 97             elem=elem.nextSibling;
 98         }while(
 99             elem&&elem.nodeType!=1
100         )
101         return elem;
102     }
103     return {
104         set:function(elemId,tabId){
105             var elem=tag("li",id(elemId));
106             var tabs=tag("div",id(tabId));
107             var listNum=elem.length;
108             var tabNum=tabs.length;
109             for(var i=0;i<listNum;i++){
110                     elem[i].onclick=(function(i){
111                         return function(){
112                             for(var j=0;j<tabNum;j++){
113                                 if(i==j){
114                                     tabs[j].style.display="block";
115                                     //alert(elem[j].firstChild);
116                                     elem[j].firstChild.className="selected";
117                                 }
118                                 else{
119                                     tabs[j].style.display="none";
120                                     elem[j].firstChild.className="";
121                                 }
122                             }
123                         }
124                     })(i)
125             }
126         }
127     }
128 }();
129 tabs.set("nav","menu");//执行
130 </script>
时间: 2024-10-14 09:23:04

js Tab切换效果的相关文章

Vue.js实现tab切换效果

利用Vue实现简易tab切换效果 1.1 在我们平时浏览网站的时候,经常看到的特效有图片轮播.导航子菜单的隐藏.tab标签的切换等等.这段时间学习了vue后,开始要写出一些简单的特效. 1.2 实现思路是点击上方的标题,下方的内容随之发生改变,上方和下方用的是两个块,是兄弟节点,所以需要点击tab标题和下方内容一一对应,基予两个模块若下标相同是一个内容实现的. 1.3 tab切换第一步先要把HTML写好,这个第一步很关键,主要分为两块结构 <div id="app"> &l

CSS3 :target伪类实现Tab切换效果

用:target伪类实现Tab切换效果真的非常简单!简单到什么程度呢?它只需要下面这些代码. style.css: .song-info { position: absolute; background: #fff; } #song-info:target, #song-lyricCN:target, #song-lyricEN:target { z-index: 1; } html代码: <div class="song-nav"> <ul class="

图片切换特效(1):原生JS图片切换效果

转自:http://www.codefans.net/jscss/code/4699.shtml <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

JS图片切换效果

源地址:http://www.codefans.net/jscss/code/4699.shtml <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"&g

CSS3属性之 target伪类实现Tab切换效果

CSS3 :target伪类用来改变页面中锚链接URL所指向的ID样式 代码示例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>target伪类实现Tab切换效果</title> <style type="text/css"> p{ bond:li; } .tablis

JavaScript - Tab切换效果

简单Tab切换效果 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&

基于jQuery图片缩放tab切换效果

基于jQuery图片缩放tab切换效果 上图: 主要效果是一个切换的效果,鼠标移动进行效果切换,兼容IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗等 预览地址:http://www.qhttl.com/content/view/2014/07/23/jiaoben92/jiaoben92/index.html 基于jQuery图片缩放tab切换效果

css实现tab切换效果

<div class="match-instruction"> <div id="tab2" class="mi-cont">奖项设置</div> <div id="tab3" class="mi-cont">评审标准</div> <div id="tab4" class="mi-cont">活动

实用CSS3属性之 :target伪类实现Tab切换效果

CSS3 :target伪类用来改变页面中锚链接URL所指向的ID样式,例如你要改变描链接指向#tab的元素字体颜色为蓝色,哪么你可以这样写成#tab:target {color:blue} 浏览器支持: 不支持IE8及以下的IE版本,IE9支持这个属性,其它非IE内核浏览器如:Firefox.Chrome.等这些浏览器都支持. 用法: :target伪类与:hover.:link.:visited.:focus等伪类的用法一样 :target {color:blue} 实例:CSS3 :tar