这个想法是这样的:顶部的div默认是隐藏的,并且会向下滑动,通过点击按钮来推送其他内容。再次点击将滑动要隐藏的div,抬高其他内容。
HTML
<div id="topDiv" class="hidden">
Some content<br>
More very complex content
</div>
<button id="thebutton" onclick="toggle('topDiv');">Toggle the div</button>
<div id="bottomDiv">
Some content<br>
More content!<br>
Even more content!<br>
</div>
CSS div.hidden {
height: 0px;
}
div {
height: 400px;
transition: height 0.5s;
}
Javascript function toggle(someId) {
var someElem = document.getElementById(someId);
someElem.className = someElem.className == 'hidden' ? '' : 'hidden';
}
这里的问题是,我想要隐藏的div的内容显示。如果我将div.hidden
改为display: none;
或visibility: hidden;
,那么我将失去"滑动"效果。
我想有一个解决方案,不使用jQuery
在div上添加overflow:hidden