js题库-2{手风琴的制作? “jQuery” 或 “原生js”}

手风琴效果如图:
在这里插入图片描述

完成HTML和CSS样式的布局:

	<body>
		<ul>
			<li>
				<span>标题1</span>
				<div>我是弹出来的div1</div>
			</li>
			<li>
				<span>标题2</span>
				<div>我是弹出来的div2</div>
			</li>
			<li>
				<span>标题3</span>
				<div>我是弹出来的div3</div>
			</li>
			<li>
				<span>标题4</span>
				<div>我是弹出来的div4</div>
			</li>
		</ul>
	</body>
	<style>
			* {
				padding: 0;
				margin: 0;
			}
			ul{
				width: 200px;
				text-align: center;
				list-style: none;
			}
			li{
				border: 1px solid #999;
				background-color: #e0ecff;
			}
			span{
				display: block;
				height: 20px;
				line-height: 20px;
				font-size: 16px;
				border-bottom: 1px solid #ccc;
				cursor: pointer;
			}
			div{
				height: 200px;
				background-color: #fff;
				display: none;
			}
		
	</style>

原生js方式:

点击它的父级元素让它父级元素的第一个子级元素显示,其他的隐藏
nextElementSibling 获取父级中的第一个子元素

<script>
	var spanobj =document.getElementsByTagName("span");
	for(var i=0;i<spanobj.length;i++){
		spanobj[i].onclick = function(){
		for(var j=0;j<spanobj.length;j++){
			spanobj[j].nextElementSibling.style.display = "none"
			this.nextElementSibling.style.display = "block"
		}
	}
}
</script>

jQuery方式:

首先先获取到点击元素的this,将点击的this对象的兄弟级下拉,其他的兄弟级收回
next() — 获取当前元素的下一个兄弟元素

<script>
	$("span").click(function(){
		$(this).next().slideDown(1000);
		$(this).parent().siblings().children("div").slideUp(1000);
	})
</script>
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

漠媂

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

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

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

打赏作者

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

抵扣说明:

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

余额充值