tab栏切换操作

最近在学js核心技术dom,顺便写写笔记,记录一下自己的学习成果。今天要记录的是一个比较常见的案例,就是切换,用的排他思想,首先我们看看所要达成的效果

点击售后保障出现售后保障的界面,点击商品评价,出现商品评价的模块。然后我们看看流程

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 7     <title>Document</title>
 8     <style>
 9         * {
10             padding: 0;
11             margin: 0;
12         }
13         .tab-list {
14             height: 39px;
15             background-color:#c3c3c3e5;
16              border-bottom: 2px solid #c81623;
17         }
18         .tab-list li {
19             float:left;
20             height: 39px;
21             line-height: 39px;
22             padding:0 20px;
23             text-align: center;
24             cursor: pointer;
25             list-style:none;
26         }
27         .current {
28             background-color: #c81623;
29             color:#fff;
30         }
31         .item {
32             display: none;
33         }
34     </style>
35 </head>
36 <body>
37    <div class="tab">
38        <div class="tab-list">
39            <ul>
40                <li class="current">商品介绍</li>
41                <li>规格与包装</li>
42                <li>售后保障</li>
43                <li>商品评价</li>
44                <li>手机社区</li>
45            </ul>
46        </div>
47        <div class="tab-con">
48            <div class="item" style="display:block;">
49                 商品介绍模块
50            </div>
51            <div class="item">
52                 规格与包装模块
53            </div>
54            <div class="item">
55                 售后保障模块
56            </div>
57            <div class="item">
58                 商品评价模块
59            </div>
60            <div class="item">
61                 手机社区模块
62            </div>
63        </div>
64    </div>
65     <script> 
66     //获取元素
67         var tab_list = document.querySelector(".tab-list");
68         var lis = document.querySelectorAll('li');
69         var items = document.querySelectorAll('.item');
70         //for循环绑定点击事件
71         for(var i = 0;i < lis.length; i++) {
72             lis[i].setAttribute('index',i);//获得索引号,索引号是从0开始,与i相同
73             //点击某一事件时,当前底色变为红色,其他的不变颜色
74             lis[i].onclick = function() {
75                 //干掉所有人,所有的底色改为不设置
76                 for(var i = 0;i < lis.length; i++) {
77                     lis[i].className = "";
78                 }
79                 //留下我自己,自己的底色变为红色
80                 this.className = "current";
81                 var index = this.getAttribute("index");
82                 //干掉所有人,所有的板块都设置为不可见
83                 for(var i = 0;i < items.length; i++) {
84                     items[i].style.display = 'none';
85                 }
86                 //留下我自己,自己的设置为可见
87                 items[index].style.display = 'block';
88             }
89         }
90    </script>
91 </body>
92 </html>

原谅我初学者,糟糕的布局,我想以后会越来越好!! 好了  再见啦

 

posted @ 2019-08-18 09:45  Cookie饼干  阅读(398)  评论(1编辑  收藏  举报