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

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

先看效果:
手风情效果
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
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Southern Wind

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值