ataehee

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

友情提醒:阅读本文需要了解一些基本的html/Css/Javascript知识

前端常用tab键的实现,用到的原理是当点击一个元素时,通过javascript操作css的display属性,达到控制另一个元素的显示(display: block)与不显示(display: none)

需要注意的是,由于使用的是onclick事件,该事件点击后会导致刷新,从而将原本应该从点击事件中获得显示的元素重置,回到初始隐藏状态。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>test tabs 04</title>
 6     <style type="text/css">
 7         a {
 8             text-decoration: none;
 9         }
10         #content01 {
11             display:none;
12         }
13         #content02 {
14             display: none;
15         }
16         .tab_Btn {
17             display: inline-block;
18             width: 100px;
19             height: 40px;
20             color: black;
21             background: orange;
22             padding-top: 5px;
23             text-align: center;
24             line-height: 40px;
25         }
26     </style>
27 </head>
28 <body>
29     <div>
30         <a class="tab_Btn" href="" onclick="showTabs(tab01);return false;">Tab1</a>
31         <a class="tab_Btn" href="" onclick="showTabs(tab02);return false;">Tab2</a>
32         <!-- 需要加return false 否则onclick事件会自动刷新 content又会默认置为display:none -->
33     </div>
34     <!-- content内容为默认隐藏的内容 -->
35     <div class="content" id="content01">
36         <p>Tab1 content</p>
37     </div>
38     <div class="content" id="content02">
39         <p>Tab2 content</p>
40     </div>
41     <script type="text/javascript">
42         var tab01 = document.getElementById("content01");
43         var tab02 = document.getElementById("content02");
44         //console.log(tab01);
45 
46         function showTabs(tab) {
47             if (tab01 == tab){
48                 tab01.style.display = "block";
49                 tab02.style.display = "none";
50             }
51             else{
52                 tab02.style.display = "block";
53                 tab01.style.display = "none";
54             }
55         }
56     </script>
57 </body>
58 </html>

 

posted on 2019-12-18 20:16  ataehee  阅读(1017)  评论(1编辑  收藏  举报