javascript - CSS Transition - 顺利显示div

标签 javascript html css css-transitions

想法是这样的:顶部的一个 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

关于javascript - CSS Transition - 顺利显示div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15979235/

相关文章:

javascript - jquery 字符串的所有排列

javascript - 高级 JavaScript 源数据 - DataTables

jquery - 是否可以设置最小视口(viewport)高度?

css - IE7 特定和 IE 其他特定样式表相互覆盖

javascript - 我在重新渲染时隐藏的 react 组件上的动画过渡

javascript - 我可以将外部 javascript 文件链接到 AngularJS Controller 吗?

javascript - 必须使用事件访问 token 来查询有关具有开放图的当前用户的信息

jquery - 从第三方将 Css 注入(inject) iframe

javascript - 嵌套表使用带有 'Data defined in a HTML table' 的 Highcharts 为基本柱形图生成意外的列

javascript - bootstrap main.js 和 plugins.js 脚本有什么用?