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大神多多指教,大家共同学习。

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

时间: 2024-10-15 12:34:08

JS+JQ手风琴效果的相关文章

JS 之手风琴效果

<!DOCTYPE html> <html> <head> <meta charset= "utf-8" /> <title></title> <meta content= " "  />  <meta content= " "  /> <style> #c{width:500px;height:300px;overflow:hidden;

js实现手风琴效果

之前在慕课网上有练习手风琴效果,但是老师使用jquery简简单单的两三行实现了,今天自己用js练习一下效果 <div id="divbox"> <ul> <li class="pic1"><a href="javascript:;">床头明月光</a></li> <li class="pic2"><a href="javascr

jq手风琴效果

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <style type="text/css"> 7 *{ 8 padding:0; 9 margin:0; 10 } 11 ul,ol{ 12 list-style:

JS制作图片手风琴效果

使用JS写出 图片的手风琴效果 第一种:浮动版本的手风琴效果,并不推荐,因为会使图片出现抖动的现象 样式则是div中包含ul <script src="animate.js"></script> <script> //1. 找出页面中需要的对象 var box = document.getElementById("box"); var ul = box.children[0]; var lis = ul.children; //2

分享一款jquery+css3实现的手风琴效果代码【js插件】

代码适用于大部分浏览器 演示Demo地址:请猛戳 效果图片 程序吧下载地址 分享一款jquery+css3实现的手风琴效果代码[js插件],布布扣,bubuko.com

简单但很实用的js手风琴效果

<!DOCTYPE html> <html> <head>     <meta charset="UTF-8">     <title></title>     <style> body,ul,li,.sfq,h3{     margin: 0;     padding: 0;     list-style: none; }   h3{       height: 30px;       width: 

js/jq实现获取手机验证码倒计时效果

众所周知在前段的工作中注册信息或获取当前手机号信息等需求,我们基本上都要涉及到手机号验证码,在网络上搜索的案例杂乱无章,用的时候全是坑,真心不想用了,然后自己写了一个获取手机验证码的倒计时效果.有需求的伙伴们可以看看怎么实现的. 如何获取手机验证码? 小月不知道大家是利用什么平台去获取验证码的,但是告诉大家我是在哪个平台获取的. LeanCloud :https://leancloud.cn/ 文档:https://leancloud.cn/docs/sms_guide-js.html 在这个平

炫酷的手风琴效果

你一定用过书签,也一定给你的书本加过书签,那么你见过书签式的导航吗? 你一定见过手风琴,也一定知道弹奏手风琴时的它的外形变化,那么你见过手风琴式的导航吗? 如果没有,请往下看: 前面的话: 这篇博文先通过Javascript做一个简单的手风琴效果,让大家对手风琴效果有一定的了解:紧接着,我们换jquery做类似的手风琴效果.前面的两个例子都很简单,接下来要放大招了,我想用JQ或是原生的JS去做类似淘宝网中用到的手风琴效果.继续回到书签问题,既然JQ和JS都能实现那么炫酷的效果,我们用CSS3能不

jQuery插件实例四:手风琴效果[无动画版]

手风琴效果就是内容的折叠与打开,在这个插件中,使用了三种数据来源:1.直接写在DOM结构中:2.将数据写在配置项中:3.从Ajax()中获取数据.在这一版中,各项的切换没有添加动画效果,在下一版中会是有动画效果的. 在这个插件中,CSS和JS的配置非常重要,需要特别注意.另外,加个思考,请先看完后再想这个问题:当点击其中某项时,给width直接添加animate是否合适,当快速在其上移动时,如何保证效果? 效果图预览 插件JS accordionB.js 1 ; 2 (function ($,