jQuery——手风琴完美实现效果(不会出现重复点击动画还没加载完成)

简介: 手风琴完美实现效果(不会出现重复点击动画还没加载完成)

jQuery——手风琴完整实现案例

先看效果:

9296e95652154944af6abf66c06e9149.gif

html布局:

<ul class="menu_list">
  <li>
    <div class="keshiliebiao3-list">HTML</div>
    <div class="child_ul">
    <a href="#">HTML基础</a>
    </div>
  </li>
  <li>
    <div class="keshiliebiao3-list">CSS</div>
    <div class="child_ul">
    <a href="#">CSS基础</a>
    </div>
  </li>
  <li>
    <div class="keshiliebiao3-list">JavaScridivt</div>
    <div class="child_ul">
    <a href="#">JS的基础语法 </a>
    </div>
  </li>
  <li>
    <div class="keshiliebiao3-list">Vue</div>
    <div class="child_ul">
    <a href="#">Vue.js</a>
    </div>
  </li>
  </ul>

写好之后写样式:

* {
    padding: 0;
    margin: 0;
  }
  ul {
    list-style-type: none;
    margin: 100px;
  }
  .keshiliebiao3-list {
    width: 185px;
    height: 46px;
    line-height: 46px;
    padding-left: 38px;
    font-size: 16px;
    color: #475052;
    cursor: pointer;
    border: 1px solid #ddd;
    position: relative;
    margin: 0px;
    font-weight: bold;
    background-color: #eee;
  }
  .child_ul {
    width: 223px;
    height: auto;
    overflow: hidden;
    line-height: 38px;
    border-left: 1px solid #e0e0e0;
    background-color: #fff;
    border-right: 1px solid #e0e0e0;
    display: none;
  }
  .child_ul a {
    display: block;
    width: 223px;
    height: 38px;
    line-height: 38px;
    padding-left: 38px;
    color: #666;
    background: #fff;
    text-decoration: none;
    border-bottom: 1px solid #e0e0e0;
  }

然后是特效

<script type="text/javascript">
  $(function () {
    /* :not(:animated)是用来解决动画没结束时不能执行连续点击的动画效果 */
    $("div.keshiliebiao3-list").click(function () {
    $(this).next(".child_ul:not(:animated)").slideToggle(300);
    var lis = $(this).parent('li').siblings('li'); 
    lis.children('.child_ul:not(:animated)').slideUp(300); 
    });
  });
  </script>

注意:这类效果解决了用户连续点击父元素展开会出现动画未结束一直执行的效果,只有动画结束之后才会继续执行点击事件。


相关文章
|
1月前
|
JavaScript 前端开发 UED
jQuery 动画
【10月更文挑战第8天】
108 55
|
17天前
|
JavaScript
jQuery实现的手风琴四季场景变换特效源码
jQuery实现的手风琴四季场景变换特效源码是一段基于jQuery实现的手风琴四季场景变换效果代码,拥有春夏秋冬四季转场特效,鼠标可放大每个季节的图像,欢迎对此段代码感兴趣的朋友前来下载使用。
21 1
|
5月前
|
移动开发 JavaScript 前端开发
老程序员分享:jQuery笔记(四)jQuery中的动画
老程序员分享:jQuery笔记(四)jQuery中的动画
48 0
|
2月前
|
JavaScript
jQuery 停止动画
jQuery 停止动画
19 4
|
2月前
|
缓存 JavaScript 前端开发
jQuery 效果- 动画
jQuery 效果- 动画
27 4
|
2月前
|
JavaScript 前端开发
jQuery 效果- 动画
jQuery 效果- 动画
41 11
|
2月前
|
JavaScript
jQuery 停止动画
jQuery 停止动画
25 11
|
3月前
|
JavaScript Java
点击按钮,向下添加目录。Java script+jQuery写法
点击按钮,向下添加目录。Java script+jQuery写法
22 1
|
3月前
|
JavaScript Java
分别使用js与jquery写 单击按钮时出现内容 点击删除按钮不会再向下出现
分别使用js与jquery写 单击按钮时出现内容 点击删除按钮不会再向下出现
20 1
|
3月前
|
JavaScript 前端开发
如何在Vue2.X/Vue3.X项目引入jQuery,以及增加jQuery.easing扩展?让你的动画效果更加丝滑!
如何在Vue 2或Vue 3项目中引入jQuery及其动画扩展库jQuery.easing,以实现更丰富的动画效果。
177 0
如何在Vue2.X/Vue3.X项目引入jQuery,以及增加jQuery.easing扩展?让你的动画效果更加丝滑!