javascript - -WEBKIT-TRANSITION 用于显示样式

标签 javascript html css

我有一个代码(简化版)。我想要“高度线性 2s”过渡。有没有办法使用 display:block 和 display:none 属性来做到这一点?我不想指定内容的高度。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script type="text/javascript">
const classes = new Array("shown", "hidden");
const classesCount = 2;
var curClass = 0;
function switchClass() {
    document.getElementById("divel").className=classes[curClass = (curClass + 1) % classesCount];
}
</script>
<style type="text/css">
    .hidden {
        display:none;
        -webkit-transition-property: height;
        -webkit-transition-duration: 2s;
        -webkit-transition-timing-function: linear;
    }
    .shown {
        display:block;
        -webkit-transition-property: height;
        -webkit-transition-duration: 2s;
        -webkit-transition-timing-function: linear;
    }
</style>
</head>
<body>
    <button onclick="switchClass()">Press me</button>
    <div id="divel" class="shown">
        Hello World<br>
        Hello World<br>
        Hello World<br> 
    </div>

</body>
</html>

最佳答案

基本示例:http://jsfiddle.net/DNeEv/

但是,您需要指定一个确切的高度。不确定如何使用 height:auto

自动高度示例:http://jsfiddle.net/nB5Du/

关于javascript - -WEBKIT-TRANSITION 用于显示样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5795282/

相关文章:

css - Ember Handlebars 和相邻的 CSS 选择器

jquery - 折叠时从 "navbar-right"更改导航栏

javascript - jQuery 复选框禁用并添加类

javascript - 在不使用 ID 或类的情况下使用 jQuery 修改 CSS

javascript - 在 JavaScript 函数中插入多行字符串作为变量

javascript - 访问 javascript d3 中的嵌套对象

javascript - 如何在我的服务器中实现 jQuery 插件?

jquery - 使用 jquery 执行数据切换

javascript - HTML5 范围 - 不支持的伪 : range

jquery - Superfish 菜单垂直向左打开?