手风琴效果

手风琴效果

在这里插入图片描述

在这里插入图片描述

<!DOCTYPE html>
<html>
	<head>
	<meta charset="UTF-8">
	<title></title>
	<style type="text/css">
	* {
	    margin: 0;
	    padding: 0;
	}
	ul {
	    width: 1300px;
	    height: 400px;
	    margin: 50px auto;
	    list-style: none;
	}
	
	li {
	    width: 240px;
	    height: 400px;
	    background: blue;
	    float: left;
	    transition: 0.5s;
	    border: 1px solid red;
	}
		</style>
	</head>
	<body>
		   <ul>
		        <li>1</li>
		        <li>2</li>
		        <li>3</li>
		        <li>4</li>
		        <li>5</li>
		    </ul>
	</body>
	
	<script type="text/javascript">
		var Ul=document.getElementsByTagName('ul')[0];
		var list=Ul.children;
		for(var i=0; i<list.length; i++){
//			list[i].style.backgroundImage = "url(images/" + (i + 1) + ".jpg)";
			list[i].onmousemove=function(){
				for(var j=0; j<list.length;j++){
					list[j].style.width=100+'px';
				}
				this.style.width=800+'px';
			}
			Ul.onmouseout=function(){
				for(var k=0; k<list.length;k++){
					list[k].style.width=240+'px';
				}
			}
		}
		
	</script>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现手风琴效果可以借助于CSS3的transition和transform属性,以及JavaScript的事件绑定和DOM操作。 HTML结构可以按照以下方式来组织: ```html <div class="accordion"> <div class="item"> <h2>标题1</h2> <div class="content"> <p>内容1</p> </div> </div> <div class="item"> <h2>标题2</h2> <div class="content"> <p>内容2</p> </div> </div> <div class="item"> <h2>标题3</h2> <div class="content"> <p>内容3</p> </div> </div> </div> ``` CSS样式可以按照以下方式来设定: ```css .accordion { display: flex; flex-direction: column; } .item { border: 1px solid #ccc; margin-bottom: 10px; overflow: hidden; transition: height 0.3s ease-in-out; } .item.active { height: auto; } .item h2 { margin: 0; padding: 10px; cursor: pointer; } .item .content { padding: 10px; } ``` JavaScript代码可以按照以下方式来实现: ```javascript var accordion = document.querySelector('.accordion'); var items = accordion.querySelectorAll('.item'); for (var i = 0; i < items.length; i++) { var item = items[i]; var heading = item.querySelector('h2'); heading.addEventListener('click', function() { if (item.classList.contains('active')) { item.classList.remove('active'); } else { for (var j = 0; j < items.length; j++) { items[j].classList.remove('active'); } item.classList.add('active'); } }); } ``` 这段JavaScript代码首先获取到手风琴容器和所有手风琴项,然后遍历每个手风琴项,为每个标题元素绑定点击事件。点击标题时,如果当前手风琴项已经处于展开状态,则关闭它;否则,关闭其他所有手风琴项并展开当前手风琴项。展开和关闭的效果通过CSS样式中的`.item.active`类来控制。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值