javascript - 如何让div展开
问题描述
得到伙计们,
以下代码在单击 div 打开时可以正常工作,但我需要在再次单击按钮时将其关闭
这是JS
<script type="text/javascript">
function slide(){
document.getElementById("sliding").style.maxHeight = "1000px";
}
</script>
这是CSS
#sliding{
transition: 0.5s;
max-height: 0px;
overflow: hidden;
}
和html
<button onclick ="slide();" class="btn btn-primary">ADD COMMENT</button>
<div id = "sliding">
<p>TEST</p>
</div>
有人可以帮助我在再次单击按钮时隐藏 div 吗?
提前致谢
解决方案
将状态添加到动态更改的 html。
有多种方法。以下代码使用maxHeight
可见性被切换的 div 上的 css 属性的值,该属性在使文本可见时无论如何都会更改。
这不是最干净的方法,但会显示原理并使对给定代码的更改最小:
function slide(){
if (parseInt(document.getElementById("sliding").style.maxHeight) === 0) {
document.getElementById("sliding").style.maxHeight = "1000px";
} else {
document.getElementById("sliding").style.maxHeight = "0px";
}
}
#sliding{
transition: 0.5s;
max-height: 0px;
overflow: hidden;
}
<button onclick ="slide();" class="btn btn-primary">ADD COMMENT</button>
<div id = "sliding">
<p>TEST</p>
</div>
推荐阅读
- android - Android firebase 写入数据加载另一个片段或使用这些片段重新加载活动
- ios - 用绘图在 UIScrollView 内缩放 UIView
- excel - 过滤多个通配符条件的解决方法
- vim - 地图
至 在 VIM 中 - android - 使用 ORMLite 时 Android Studio 未完成构建
- python - Ubuntu + 新用户 + ImportError:没有名为“google”的模块
- mysql - SSL 与 MySQL 学说和 Symfony4
- android - 如何在调试模式下,在 react-native-firebase 中禁用 Crashlytics?
- python - 如何使用python删除文件中的特殊字符和停止词?
- c++ - 将从不可复制派生的对象放置到向量中