js选项卡切换效果

选项卡切换在页面中比较常见,这里是我利用js闭包还有setTimeout定时器实现的一个比较实用的选项卡功能。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>tab选项卡</title>
 6     <style>
 7         *{margin:0;padding:0;font-size: 12px;}
 8         body{background: #fff;}
 9         ul{list-style: none;}
10         .none{display:none;}
11         .tab{width:598px;height:135px;margin:20px auto;border:1px #e8e8e8 solid;}
12         .tag-box{height:30px;position: relative;overflow: hidden;}
13         .tag{position:absolute;left:-1px;width:600px;height:30px;background: #f7f7f7;}
14         .tag li{float:left;width:118px;padding:0 1px;height:29px;line-height: 29px;text-align: center;color:#666;border-bottom:1px #e8e8e8 solid;cursor: pointer;}
15         .tag li.on{padding:0;background: #fff;font-weight: bold;border-left:1px #e8e8e8 solid;border-right:1px #e8e8e8 solid;border-bottom:1px #fff solid;}
16         .cons li{float:left;width:250px;line-height: 15px;margin:20px 0 0 45px;}
17         .cons li a{color:#666;}
18     </style>
19     <script>
20         function tab(){
21             var tag = document.getElementById(‘tagBox‘).getElementsByTagName(‘li‘),
22             con =  document.getElementById(‘conBox‘).children,
23             length = tag.length,
24             i = 0,
25             timer = null;
26             for(; i<length; i++){
27                 tag[i].onmouseover = (function(i){
28                     return function(){
29                         timer = setTimeout(function(){
30                             for(var j=0; j<length; j++){
31                                 tag[j].className = ‘‘;
32                                 con[j].style.display = ‘none‘;
33                                 //i === j ? (tag[i].className = ‘on‘,con[i].style.display = ‘block‘) : (tag[j].className = ‘‘,con[j].style.display = ‘none‘); //利用三元运算符也可以
34                             }
35                             tag[i].className = ‘on‘;
36                             con[i].style.display = ‘block‘;
37                         },200)
38                     }
39                 })(i);
40                 tag[i].onmouseout = function(){
41                     clearTimeout(timer);
42                     time = null;
43                 }
44             }
45         };
46         window.onload = tab;
47     </script>
48 </head>
49 <body>
50     <div class="tab">
51         <div class="tag-box">
52             <ul class="tag" id="tagBox">
53                 <li class="on">公告</li>
54                 <li>日志</li>
55                 <li>天气</li>
56                 <li>游戏</li>
57                 <li>体育</li>
58             </ul>
59         </div>
60         <div class="con" id="conBox">
61             <ul class="cons">
62                 <li><a href="javascript:;">为什么世界那么大?</a></li>
63                 <li><a href="javascript:;">为什么世界那么大?</a></li>
64                 <li><a href="javascript:;">为什么世界那么大?</a></li>
65                 <li><a href="javascript:;">为什么世界那么大?</a></li>
66             </ul>
67             <ul class="cons none">
68                 <li><a href="javascript:;">今天没有出去玩</a></li>
69                 <li><a href="javascript:;">今天没有出去玩</a></li>
70                 <li><a href="javascript:;">今天没有出去玩</a></li>
71                 <li><a href="javascript:;">今天没有出去玩</a></li>
72             </ul>
73             <ul class="cons none">
74                 <li><a href="javascript:;">万里无云</a></li>
75                 <li><a href="javascript:;">万里无云</a></li>
76                 <li><a href="javascript:;">万里无云</a></li>
77                 <li><a href="javascript:;">万里无云</a></li>
78             </ul>
79             <ul class="cons none">
80                 <li><a href="javascript:;">地下城与勇士</a></li>
81                 <li><a href="javascript:;">地下城与勇士</a></li>
82                 <li><a href="javascript:;">地下城与勇士</a></li>
83                 <li><a href="javascript:;">地下城与勇士</a></li>
84             </ul>
85             <ul class="cons none">
86                 <li><a href="javascript:;">NBA全明星赛</a></li>
87                 <li><a href="javascript:;">NBA全明星赛</a></li>
88                 <li><a href="javascript:;">NBA全明星赛</a></li>
89                 <li><a href="javascript:;">NBA全明星赛</a></li>
90             </ul>
91         </div>
92     </div>
93 </body>
94 </html>
时间: 2024-08-08 10:13:13

js选项卡切换效果的相关文章

用html+css+js实现选项卡切换效果

文章转载自:http://tongling.github.io/JSCards/ 用html+css+js实现选项卡切换效果 使用之前学过的综合知识,实现一个新闻门户网站上的常见选项卡效果: 文字素材: 房产: 275万购昌平邻铁三居 总价20万买一居 200万内购五环三居 140万安家东三环 北京首现零首付楼盘 53万购东5环50平 京楼盘直降5000 中信府 公园楼王现房 家居: 40平出租屋大改造 美少女的混搭小窝 经典清新简欧爱家 90平老房焕发新生 新中式的酷色温情 66平撞色活泼家居

仿百度首页选项卡切换效果

效果:http://hovertree.com/texiao/jquery/71/ 代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jQuery仿百度首页选项卡切换效果 - 何问起</title> <base ta

[前端] html+css+javascript 实现选项卡切换效果

用html+css+js实现选项卡切换效果 使用之前学过的综合知识,实现一个新闻门户网站上的常见选项卡效果: 文字素材: 房产: 275万购昌平邻铁三居 总价20万买一居 200万内购五环三居 140万安家东三环 北京首现零首付楼盘 53万购东5环50平 京楼盘直降5000 中信府 公园楼王现房 家居: 40平出租屋大改造 美少女的混搭小窝 经典清新简欧爱家 90平老房焕发新生 新中式的酷色温情 66平撞色活泼家居 瓷砖就像选好老婆 卫生间烟道的设计 二手房: 通州豪华3居260万 二环稀缺2居

vue实现选项卡切换效果

效果如下: 说明: 这里我使用的原理是利用vue中的v-show/显示隐藏指令,当为true的时候显示,为false的时候隐藏 1html代码: <head> <meta charset="UTF-8"> <base target="_blank"> <title>vue实现选项卡切换效果</title> <script src="js/jquery-1.8.2.min.js"&g

图片切换特效(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

vue实现tab选项卡切换效果

tab选项卡切换效果: 通过点击事件传入参数,然后通过v-show来进行切换显示 <template> <div class="box"> <div class="tab"> <span @click="cur = 0">首页</span> <span @click="cur = 1">广场</span> <span @click=&qu

用js实现选项卡切换效果

这是要实现的效果图: 一.HTML页面布局 <!-- HTML页面布局 --><ul class="tab_menu"> <li class="selected">房产</li> <li>家居</li> <li>二手房</li></ul><div class="tab_box"> <div> 275万购昌平邻铁三居

慕课编程题JS选项卡切换

Javascript进阶篇的最后一节是一个选项卡切换的编程,要求效果如下. 这里涉及到两块,一个是内容的切换显示,一个是红色的边框样式切换. 内容切换可以用纯js代码实现,但当这里还需设置一个红色边框样式的时候,JS里会出现大量CSS代码,所以统一使用className切换是更好的选择,不同的class样式可以在CSS文件中设置.这样JS的任务只剩下区分onclick元素和其他元素这一项了. 我的第一反应是给<p>内容部分加上房产/家居/二手房的id,通过if判断id是否与触发onclick选