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>

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


相关文章
|
4月前
|
移动开发 JavaScript 前端开发
老程序员分享:jQuery笔记(四)jQuery中的动画
老程序员分享:jQuery笔记(四)jQuery中的动画
42 0
|
15天前
|
JavaScript
jQuery 停止动画
jQuery 停止动画
12 4
|
16天前
|
缓存 JavaScript 前端开发
jQuery 效果- 动画
jQuery 效果- 动画
17 4
|
1月前
|
JavaScript 前端开发
jQuery 效果- 动画
jQuery 效果- 动画
35 11
|
1月前
|
JavaScript
jQuery 停止动画
jQuery 停止动画
24 11
|
2月前
|
JavaScript Java
点击按钮,向下添加目录。Java script+jQuery写法
点击按钮,向下添加目录。Java script+jQuery写法
17 1
|
2月前
|
JavaScript Java
分别使用js与jquery写 单击按钮时出现内容 点击删除按钮不会再向下出现
分别使用js与jquery写 单击按钮时出现内容 点击删除按钮不会再向下出现
17 1
|
2月前
|
JavaScript 前端开发
如何在Vue2.X/Vue3.X项目引入jQuery,以及增加jQuery.easing扩展?让你的动画效果更加丝滑!
如何在Vue 2或Vue 3项目中引入jQuery及其动画扩展库jQuery.easing,以实现更丰富的动画效果。
105 0
如何在Vue2.X/Vue3.X项目引入jQuery,以及增加jQuery.easing扩展?让你的动画效果更加丝滑!
|
4月前
|
JavaScript
jQuery 动画小练习
jQuery 动画小练习
27 0
|
4月前
|
JavaScript 前端开发
我如何使用jQuery动画我的元素
我如何使用jQuery动画我的元素
25 0