HTML 展开收起

(1) 授课老师教的展开收起的实现
 Html部分

(1)<div class="cont">
		<div class="tab_box2" id="tab_box2">
			<table class="caozuo" cellspacing="0">
				<tr>
						<th>操作详情</th>
						<th>操作人</th>
						<th>环节</th>
						<th>时间</th>
						<th>备注</th>
					</tr>
					<tr>
						<td>任务分配</td>
						<td>熊伟</td>
						<td>技术开发</td>
						<td>2014-10-24 14:30</td>
						<td>由于南京看房团项目启动,被迫延期</td>
					</tr>
					<tr>
						<td>任务分配</td>
						<td>熊伟</td>
						<td>技术开发</td>
						<td>2014-10-24 14:30</td>
						<td>由于南京看房团项目启动,被迫延期</td>
					</tr>
					<tr>
						<td>任务分配</td>
						<td>熊伟</td>
						<td>技术开发</td>
						<td>2014-10-24 14:30</td>
						<td>由于南京看房团项目启动,被迫延期</td>
					</tr>
					<tr>
						<td>任务分配</td>
						<td>熊伟</td>
						<td>技术开发</td>
						<td>2014-10-24 14:30</td>
						<td>由于南京看房团项目启动,被迫延期</td>
					</tr>
					<tr>
						<td>任务分配</td>
						<td>熊伟</td>
						<td>技术开发</td>
						<td>2014-10-24 14:30</td>
						<td>由于南京看房团项目启动,被迫延期</td>
					</tr>
					<tr>
						<td>任务分配</td>
						<td>熊伟</td>
						<td>技术开发</td>
						<td>2014-10-24 14:30</td>
						<td>由于南京看房团项目启动,被迫延期</td>
					</tr>
					<tr>
						<td>任务分配</td>
						<td>熊伟</td>
						<td>技术开发</td>
						<td>2014-10-24 14:30</td>
						<td>由于南京看房团项目启动,被迫延期</td>
					</tr>
					<tr>
						<td>任务分配</td>
						<td>熊伟</td>
						<td>技术开发</td>
						<td>2014-10-24 14:30</td>
						<td>由于南京看房团项目启动,被迫延期</td>
					</tr>
			</table>
		</div>
		<div class="zkmore">
			<p class="sm_open" id="sm_open">展开更多  <i></i></p>
			<p class="sm_close" id="sm_close">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i></i></p>
		</div>
	</div>

 Css部分

.cont{
	padding:15px;
	border-radius: 5px;
	background: white;
	box-shadow: 0 2px 3px #ccc;
	position: relative;
	margin-bottom: 20px;
}
.cont>p:first-child{
	padding:5px 0 20px 20px;
	font-size: 18px;
}
.cont>p span{
	font-size:18px;
	color: #ff5600;
}
.caozuo{
	width:100%;
}
.caozuo tr th,.caozuo tr td{
	text-align:center;
	height: 30px;
	padding: 5px 10px;
}
.caozuo tr th:last-child,.caozuo tr td:last-child{
	text-align: left;
}
.caozuo tr td{
	border-top: 1px solid #e4e7ed;
	color:#7d7d7d;
}
.caozuo tr th{
	color:#057ee9;
}
/*
.caozuo tr td{
	border-top: 1px solid #e4e7ed;
	color:#7d7d7d;
}
*/
.zkmore{
	text-align:center;
	border-top: 1px solid #e4e7ed;
	padding-top: 10px;
}
.zkmore p.sm_open,.zkmore p.sm_close{
	position:relative;
	cursor: pointer;
}
.zkmore p.sm_open i{
	position:absolute;
	width:6px;
	height:11px;
	background: url(../images/zkmore.gif) top left no-repeat;
	top:2px;
	margin-left: 5px;
}
.zkmore p.sm_close{
	display: none;
}
.zkmore p.sm_close i{
	position:absolute;
	width:6px;
	height:11px;
	background: url(../images/zkmore.gif) 0px -19px no-repeat;
	top: 2px;
	margin-left: 5px;
}
.tab_box2{
	height: 200px;
	overflow: hidden;
	transition: height 1s ease-out;/*css3动画:设置动画时间1s*/
}

 Js部分

// JavaScript Document
window.onload = function(){
var sm_open = document.getElementById("sm_open");//展开操作详情按钮 
	var sm_close = document.getElementById("sm_close");//关闭操作详情按钮
//操作详情表的展开和收起
	sm_open.onclick = function(){
		tab_box2.style.height = "360px";
		sm_close.style.display = "block";
		sm_open.style.display = "none";
	};
	sm_close.onclick = function(){
		tab_box2.style.height = "200px";
		sm_close.style.display = "none";
		sm_open.style.display = "block";
	};
};
}

 效果
在这里插入图片描述在这里插入图片描述
下面是我们做作业时展开收起的实现
1、 html部分

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>展开收起</title>
</head>
<body>
<div class="box">
<div class="warp">
     <div class="zksq">
	<ul>
		<li>手机</li>
		<span>-</span>
		<li>商品筛选</li>
	</ul>
	<ul>
		<li>网络:</li>&nbsp;&nbsp;
		 <li>移动4G(TD-LTE)</li>
		<li>联通4G(TD-LTE)</li>
		<li>电信3G(WCDMA)</li>
	</ul>
	<ul>
		<li>价格:</li>&nbsp;&nbsp;
		<li>5000以上</li>
		<li>4000-4999</li>
		<li>3000-3999</li>
		<li>2000-2999</li>
	</ul>
	<ul>
		<li>特点:</li>&nbsp;&nbsp;
		<li>JDPhone计划</li>
		<li>"0"元购机</li>
		<li>防水</li>
		<li>长待机</li>
		<li>1080P全高清屏</li>
	</ul>
	<ul>
		<li>价格:</li>&nbsp;&nbsp;
		<li>5000以上</li>
		<li>4000-4999</li>
		<li>3000-3999</li>
		<li>2000-2999</li>
	</ul>
	<ul>
		<li>价格:</li>&nbsp;&nbsp;
		<li>5000以上</li>
		<li>4000-4999</li>
		<li>3000-3999</li>
		<li>2000-2999</li>
	</ul>
	</div>
	</div>
	<div class="new">
		<p id="open"><span id="open1">展开</span></p>
		<p id="close"><span id="close1">收起</span></p>
	</div>
</div>
<script type="text/javascript" src="zhankaishouqi.js"></script>
</body>
</html>

2、 css部分

@charset "utf-8";
/* CSS Document */
*{
	padding: 0;
	margin: 0;
}
.box{
	width: 1000px;
	margin: 0 auto;
}
li{
	display: inline-block;
}
.warp{
	margin: 0 auto;
	width: 605px;
	background: #e5e5e5;
	padding: 10px 25px 0 25px;
}
ul{
	padding: 5px 0;
}
.new{
	width: 635px;
	margin: 0 auto;
	border-top: #666666 solid 3px;
}
p{
	text-align: center;
}
#open{
	display: block;
}
#close{
	display: none;
}
#open1{
	display: inline-block;
	width: 125px;
	line-height: 50px;
	color: #d8f5ff;
	height: 50px;
	background: #666666;
	cursor: pointer;
}
#close1{
	display: inline-block;
	width: 125px;
	line-height: 50px;
	color: #d8f5ff;
	height: 50px;
	background: #666666;
	cursor: pointer;
}
.zksq{
	height: 65px;
	overflow: hidden;
	transition: height 1s ease-out;
}

3、 js部分

// JavaScript Document
window.onload=function(){
	var open=document.getElementById("open");
	var close=document.getElementById("close");
	var zksq=document.getElementsByClassName("zksq");
	
	open.onclick=function(){
		zksq[0].style.height="190px";
		open.style.display="none";
		close.style.display="block";
	};
	close.onclick=function(){
		zksq[0].style.height="65px";
		open.style.display="block";
		close.style.display="none";
	};
};

4、 实现的效果
在这里插入图片描述
在这里插入图片描述

### HTML 和 JavaScript 实现内容展开收起功能 要实现内容的展开收起效果,可以结合 HTML、CSS 和 JavaScript 来完成。以下是具体方法: #### 方法概述 通过设置一个按钮或链接来触发事件,利用 JavaScript 动态修改目标元素的样式属性(如 `display` 或 `height`),从而达到内容显示或隐藏的效果。 --- #### 示例代码 以下是一个完整的示例,展示了如何使用 HTML 和 JavaScript 实现这一功能: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>内容展开收起</title> <style> /* 定义初始样式 */ .content { max-height: 0; overflow: hidden; transition: max-height 0.3s ease-in-out; background-color: #f9f9f9; padding: 0 10px; } .toggle-button { cursor: pointer; margin-top: 10px; display: inline-block; } .expanded { max-height: 200px; /* 设置最大高度以适应内容 */ } </style> </head> <body> <div class="container"> <!-- 展开/收起的内容 --> <div id="expandableContent" class="content"> 这是一段被折叠的内容。你可以点击下面的按钮将其展开或再次收起。<br><br> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </div> <!-- 切换按钮 --> <a href="#" class="toggle-button" onclick="toggleContent()">点击查看更多...</a> </div> <script> function toggleContent() { const contentElement = document.getElementById('expandableContent'); const button = document.querySelector('.toggle-button'); if (contentElement.classList.contains('expanded')) { // 如果已经展开,则收起 contentElement.classList.remove('expanded'); button.textContent = '点击查看更多...'; } else { // 否则展开 contentElement.classList.add('expanded'); button.textContent = '点击收起'; } } </script> </body> </html> ``` --- #### 关键点解析 1. **HTML 结构** - 使用 `<div>` 标签包裹需要展开收起的内容。 - 添加一个按钮或链接作为触发器,绑定点击事件[^1]。 2. **CSS 样式** - 初始化 `.content` 类为不可见状态 (`max-height: 0`) 并禁用溢出部分(`overflow: hidden`)。 - 当添加类名 `.expanded` 时,调整其 `max-height` 值使其可见[^4]。 3. **JavaScript 控制逻辑** - 获取 DOM 元素并通过 `classList.toggle()` 方法切换 CSS 类名。 - 修改按钮文字以提示当前操作是“展开”还是“收起”[^2]。 --- #### 扩展说明 如果希望支持更复杂的需求,比如动态加载数据或者渐变动画,可以通过以下方式增强: - 使用 AJAX 请求获取远程数据并填充到容器中。 - 应用第三方库(如 jQuery)简化 DOM 操作和动画处理。 ---
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值