欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

7、JavaScript总结——实现选项卡切换的效果

程序员文章站 2022-06-23 23:22:47
阅读目录(原创-萌小Q) 编程挑战 分析 阅读目录(原创-萌小Q) 编程挑战 分析 编程挑战 现在利用之前我们学过的JavaScript知识,实现选项卡切换的效果。 效果图: 文字素材: 房产: 275万购昌平邻铁三居 总价20万买一居 200万内购五环三居 140万安家东三环 北京首现零首付楼盘 ......

编程挑战

现在利用之前我们学过的JavaScript知识,实现选项卡切换的效果。

效果图:

7、JavaScript总结——实现选项卡切换的效果

文字素材:

房产:

    275万购昌平邻铁三居 总价20万买一居
    200万内购五环三居 140万安家东三环
    北京首现零首付楼盘 53万购东5环50平
    京楼盘直降5000 中信府 公园楼王现房

家居:

     40平出租屋大改造 美少女的混搭小窝
     经典清新简欧爱家 90平老房焕发新生
     新中式的酷色温情 66平撞色活泼家居
     瓷砖就像选好老婆 卫生间烟道的设计

二手房:

     通州豪华3居260万 二环稀缺2居250w甩
     西3环通透2居290万 130万2居限量抢购
     黄城根小学学区仅260万 121平70万抛!
     独家别墅280万 苏州桥2居优惠价248

 

分析

大家先思考和分析实现思路,然后在动手实现

一、HTML页面布局

提示:
选项卡标题使用ul..li
选项卡内容使用div

二、CSS样式制作

提示:
整个选项卡的样式设置
选项卡标题的样式设置
选项卡内容的样式设置
一开始只显示一个选项卡内容,其它选项卡内容隐藏。

三、JS实现选项卡切换

提示:
获取选项卡标题和选项卡内容
选项卡内容多个,需要循环遍历来操作,得知哪个选项卡和哪个选项内容匹配
通过改变DOM的css类名称,当前点击的选项卡显示,其它隐藏。

 代码实现:

7、JavaScript总结——实现选项卡切换的效果
复制代码
 1 <!DOCTYPE html>
 2 <html>
 3 <head lang="en">
 4     <meta charset="UTF-8">
 5     <title>实践题 - 选项卡</title>
 6     <style type="text/css">
 7         *{padding:0px;margin: 0px;font:12px normal "microsoft yahei";}
 8         #tabs {width:290px;padding:5px;height:150px;margin:20px;}
 9         #tabs ul{list-style:none;display: block;height:30px;line-height:30px;border-bottom:2px saddlebrown solid;}
10         #tabs ul li{background:#fff;cursor:pointer;float:left;list-style:none;height:28px;line-height:28px;margin:0px 3px;border:1px solid #aaaaaa;border-bottom:none;display:inline-block;width:60px;text-align: center;}
11         #tabs ul li.on{border-top:2px solid saddlebrown;border-bottom: 2px solid #fff;}
12         #tabs div{height:120px;line-height: 25px;border:1px solid #336699;border-top:none;padding:5px;}
13         .hide{display: none;}
14     </style>
15     <script type="text/javascript">
16          window.onload = function(){
17              var oTab = document.getElementById("tabs");
18              var oUl = oTab.getElementsByTagName("ul")[0];
19              var oLis = oUl.getElementsByTagName("li");
20              var oDivs= oTab.getElementsByTagName("div");
21 
22              for(var i= 0,len = oLis.length;i<len;i++){
23                  oLis[i].index = i;
24                  oLis[i].onclick = function() {
25                      for(var n= 0;n<len;n++){
26                          oLis[n].className = "";
27                          oDivs[n].className = "hide";
28                      }
29                      this.className = "on";
30                      oDivs[this.index].className = "";
31                  }
32              };
33          }
34     </script>
35 
36 </head>
37 <body>
38 <div id="tabs">
39     <ul>
40         <li class="on">房产</li>
41         <li>家居</li>
42         <li>二手房</li>
43     </ul>
44     <div>
45         275万购昌平邻铁三居 总价20万买一居<br>
46         200万内购五环三居 140万安家东三环<br>
47         北京首现零首付楼盘 53万购东5环50平<br>
48         京楼盘直降5000 中信府 公园楼王现房<br>
49     </div>
50     <div class="hide">
51         40平出租屋大改造 美少女的混搭小窝<br>
52         经典清新简欧爱家 90平老房焕发新生<br>
53         新中式的酷色温情 66平撞色活泼家居<br>
54         瓷砖就像选好老婆 卫生间烟道的设计<br>
55 
56     </div>
57     <div class="hide">
58         通州豪华3居260万 二环稀缺2居250w甩<br>
59         西3环通透2居290万 130万2居限量抢购<br>
60         黄城根小学学区仅260万 121平70万抛!<br>
61         独家别墅280万 苏州桥2居优惠价248万<br>
62 
63     </div>
64 </div>
65 
66 </body>
67 </html>
复制代码
View Code