• JS实现选项卡切换


    面是用JS简单地实现选项卡功能的实例。

      注意点:(1)闭包后,要使用立即执行函数;

                    (2)绑定事件注意参数;

                    (3)思路:将当前div显示,其余隐藏,给button绑定事件,触碰后显示相应内容。

      1 <!DOCTYPE html>
      2 
      3 <html>
      4 
      5  
      6 
      7     <head>
      8 
      9         <meta charset="UTF-8">
     10 
     11         <title>选项卡练习</title>
     12 
     13         <!--CSS样式-->
     14 
     15         <style type="text/css">
     16 
     17             .wrapper {
     18 
     19                 box-shadow: -2px 0 5px lightsteelblue, 0 -2px 5px lightsteelblue, 0 2px 5px lightsteelblue, 2px 0 5px lightsteelblue;
     20 
     21                 height: 450px;
     22 
     23                  533px;
     24 
     25             }
     26 
     27             
     28 
     29             .content {
     30 
     31                 display: none;
     32 
     33                  530px;
     34 
     35                 height: 395px;
     36 
     37                 margin-top: 8px;
     38 
     39                 box-shadow: -2px 0 5px gray, 0 -2px 5px gray, 0 2px 5px gray, 2px 0 5px gray;
     40 
     41             }
     42 
     43             /*点击该按钮的时候显示该颜色*/
     44 
     45             
     46 
     47             .active {
     48 
     49                 background-color: lightsteelblue;
     50 
     51             }
     52 
     53             
     54 
     55             button {
     56 
     57                 background-color: lightseagreen;
     58 
     59                 margin-top: 5px;
     60 
     61                 list-style-type: none;
     62 
     63                  125px;
     64 
     65                 height: 40px;
     66 
     67                 font-family: "新宋体";
     68 
     69                 font-size: 18px;
     70 
     71                 border: none;
     72 
     73                 box-shadow: -2px 0 5px lightsteelblue, 0 -2px 5px lightsteelblue, 0 2px 5px lightsteelblue, 2px 0 5px lightsteelblue;
     74 
     75             }
     76 
     77             
     78 
     79             button:first-child {
     80 
     81                 margin-left: 10px;
     82 
     83             }
     84 
     85         </style>
     86 
     87     </head>
     88 
     89  
     90 
     91     <body>
     92 
     93         <!--布局样式-->
     94 
     95         <div class="wrapper">
     96 
     97             <!--选项卡-->
     98 
     99             <button class="active">选项卡一</button>
    100 
    101             <button>选项卡二</button>
    102 
    103             <button>选项卡三</button>
    104 
    105             <button>选项卡三</button>
    106 
    107             <div class="content" style="display: block;">
    108 
    109                 <img src="img/pic-one.png" />
    110 
    111             </div>
    112 
    113             <div class="content">
    114 
    115                 <img src="img/pic-two.png" />
    116 
    117             </div>
    118 
    119             <div class="content">
    120 
    121                 <img src="img/pic-three.png" />
    122 
    123             </div>
    124 
    125             <div class="content">
    126 
    127                 <img src="img/pic-fou.png" />
    128 
    129             </div>
    130 
    131         </div>
    132 
    133         <!--JS代码-->
    134 
    135         <script type="text/javascript">
    136 
    137             // 将按钮和盒子拿出来
    138 
    139             var btn = document.getElementsByTagName('button');
    140 
    141             var div = document.getElementsByClassName('content');
    142 
    143             // 每一个button上面绑定事件
    144 
    145             for(var n = 0; n < btn.length; n++) {
    146 
    147                 //生成闭包的立即函数
    148 
    149                 (function(i) {
    150 
    151                     btn[n].onclick = function() {
    152 
    153                         for(var m = 0; m < btn.length; m++) {
    154 
    155                             btn[m].className = ""; //清空效果
    156 
    157                             div[m].style.display = "none";
    158 
    159                         }
    160 
    161                         //当前点击的button设置变化
    162 
    163                         this.className = "active";
    164 
    165                         div[i].style.display = "block";
    166 
    167                     }
    168 
    169                 }(n))
    170 
    171             }
    172 
    173         </script>
    174 
    175     </body>
    176 
    177 </html>

     

  • 相关阅读:
    Proguard 混淆的一些经验教训!!!
    记一个奇怪的编码转换问题,及探讨“错误: 编码GBK的不可映射字符” 的原因
    我的chrome 智能扩展插件copier开源了!!!
    js 日期格式化小问题
    最后的记忆——Spring ApplicationContext
    最后的记忆——Spring BeanFactory
    归去来兮!田园将芜胡不归?
    一个线程 就是一个 人!!!
    痛苦的 java.net.BindException: Address already in use: connect —— Nacos的坑
    Mysql 的异常:The last packet successfully received from the server was 90 milliseconds ago. The last packet sent successfully to the server was 43,603,303 milliseconds ago. is longer than the server con
  • 原文地址:https://www.cnblogs.com/yuer20180726/p/11152509.html
Copyright © 2020-2023  润新知