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>

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


相关文章
|
2月前
|
JavaScript 前端开发 UED
jQuery 动画
【10月更文挑战第8天】
113 55
|
1天前
|
JavaScript 前端开发
jquery输入框键入文字动画特效
这是一款炫酷的jquery输入框键入文字动画特效。该文字特效在用户键入字母时,通过jquery代码来制作文字的动画效果,非常炫酷。
7 0
|
29天前
jQuery+CSS3模拟过山车动态的文字动画特效源码
jQuery+CSS3模拟过山车动态的文字动画特效源码实现在全黑的背景下,画面中的文本呈现过山车的轨迹动画上下滚动转圈,且伴随文本颜色渐变效果,非常有意思,欢迎对此特效感兴趣的朋友前来下载参考。
23 1
|
1月前
|
JavaScript
jQuery实现的手风琴四季场景变换特效源码
jQuery实现的手风琴四季场景变换特效源码是一段基于jQuery实现的手风琴四季场景变换效果代码,拥有春夏秋冬四季转场特效,鼠标可放大每个季节的图像,欢迎对此段代码感兴趣的朋友前来下载使用。
27 1
|
6月前
|
移动开发 JavaScript 前端开发
老程序员分享:jQuery笔记(四)jQuery中的动画
老程序员分享:jQuery笔记(四)jQuery中的动画
51 0
|
3月前
|
JavaScript
jQuery 停止动画
jQuery 停止动画
26 4
|
3月前
|
缓存 JavaScript 前端开发
jQuery 效果- 动画
jQuery 效果- 动画
35 4
|
3月前
|
JavaScript 前端开发
jQuery 效果- 动画
jQuery 效果- 动画
47 11
|
3月前
|
JavaScript
jQuery 停止动画
jQuery 停止动画
27 11
|
4月前
|
JavaScript Java
点击按钮,向下添加目录。Java script+jQuery写法
点击按钮,向下添加目录。Java script+jQuery写法
27 1