zoukankan      html  css  js  c++  java
  • JS+JQ手风琴效果

    最新在学习JS写一些实用的小玩意——手风琴

      CSS样式:

     1     <style type="text/css">
     2         * {
     3             margin: 0px;
     4             border: 0px;
     5             padding: 0px;
     6         }
     7             
     8         .leftli {
     9             float: left;
    10             width: 200px;
    11             background: #3D4444;
    12         }
    13             
    14         ul li {
    15             display: block;
    16             line-height: 25px;
    17             width: 200px;
    18             height: 25px;
    19             list-style-type: none;
    20             border-collapse: collapse;
    21             font-size: 15px;
    22             color: #DBDBDB;
    23             margin-left: 20px;
    24         }
    25             
    26         ul li:hover {
    27             background: #FFFFFF;
    28             color: #000000;
    29             cursor: pointer;
    30             height: 40px;
    31             line-height: 40px;
    32             font-size: 22px;
    33         }
    34             
    35         a {
    36             display: block;
    37             line-height: 50px;
    38             width: 200px;
    39             height: 50px;
    40             list-style-type: none;
    41             font-size: 30px;
    42             left: 5px;
    43             color: #F9F9F9;
    44             font-size: bold;
    45         }
    46             
    47         a:hover {
    48             background: #FFFFFF;
    49             color: #2FA8EC;
    50             cursor: pointer;
    51             height: 65px;
    52             line-height: 65px;
    53             font-size: 40px;
    54             text-align: center;
    55         }
    60     </style>

      HTML布局:

     1     <body>
     2         <div class="leftli">
     3             <div>
     4                 <a>First</a>
     5                 <ul>
     6                     <li>First One</li>
     7                     <li>First Two</li>
     8                 </ul>
     9                 <a>Second</a>
    10                 <ul>
    11                     <li>Second One</li>
    12                     <li>Second Two</li>
    13                 </ul>
    14                 <a>Third</a>
    15                 <ul>
    16                     <li>Third One</li>
    17                     <li>Third Two</li>
    18                 </ul>
    19                 <a>Fourth</a>
    20                 <ul>
    21                     <li>Fourth One</li>
    22                     <li>Fourth Two</li>
    23                 </ul>
    24                 <a>Fifth</a>
    25                 <ul>
    26                     <li>Fifth One</li>
    27                     <li>Fifth Two</li>
    28                 </ul>
    29                 <a>Sixth</a>
    30                 <ul>
    31                     <li>Sixth One</li>
    32                     <li>Sixth Two</li>
    33                 </ul>
    34             </div>
    35         </div>
    36     </body>

      引用的JS

    1     <script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>

      JS关键代码

     1   <script type="text/javascript">    
     2         $(function() {
     3             //设置DIV的高度跟随屏幕变化而变化,类似于自适应
     4             $(".leftli").height(document.body.scrollHeight);
     5             //隐藏除第一个元素以外的所有元素
     6             $(".leftli ul:gt(0)").hide();
    7 }) 8 //bind()为.leftli a的a生成点击事件 9 $(".leftli a").bind("click", function() { 10 //.netx("li")获取同级的下一个li元素 11 //slideToggle(300)展开/关闭当前被点击的ul元素,300为速度,除了可以是数字还可以"slow"、"normal"、"fast" 12 //siblings("ul")遍历所有的ul元素 13 //slideUp(300)隐藏已经被展开的其他ul元素,300为速度,除了可以是数字还可以"slow"、"normal"、"fast" 14 $(this).next("ul").slideToggle(300).siblings("ul").slideUp(300); 15 }) 16 </script>

      JS大致思路就是先获取当前被点击的a元素,然后展开a元素下的ul元素,再遍历所有的ul元素,再将已展开的ul元素隐藏,这样就完成了手风琴效果。

      手风琴效果如果有不完善的地方,希望各位JS/JQ大神多多指教,大家共同学习,送上Demo下载

      文章可随意转载,转载请注明出处(http://www.cnblogs.com/yy981420974/p/5891918.html)。

  • 相关阅读:
    SQLite剖析之异步IO模式、共享缓存模式和解锁通知
    SQLite剖析之动态内存分配
    SQLite剖析之锁和并发控制
    SQLite剖析之临时文件、内存数据库
    SQLite剖析之数据类型
    关于Docker目录挂载的总结(一)
    docker常用命令
    玩转docker(一)
    go hello
    术语“go”不被识别为cmdlet,函数,脚本文件或可操作程序的名称
  • 原文地址:https://www.cnblogs.com/yy981420974/p/5891918.html
Copyright © 2011-2022 走看看