喜欢标题说。我有这样的代码:https://jsfiddle.net/fwo9ym1o/css转换不透明不工作,其中元素有显示:none然后更改为显示:块
//javascript
var container = document.querySelector("#container");
container.style.display = "block";
//this is not working
//container.style.opacity = 1;
//this is working
setTimeout(function() {
container.style.opacity = 1;
}, 0);
/css
.container {
height: 200px;
width: 200px;
background-color: salmon;
display: none;
border-radius: 5px;
opacity: 0;
transition: opacity 2s ease-in-out;
}
//html
<div id="container" class="container"></div>
所以,我已经改变了container.style.display = "block";
然后应用container.style.opacity = 1;
和过渡没有发生。
它工作,如果我在一个新的线程中运行的一切。
注意:我无法使用可视性。它必须显示:无
_“和过渡是不会发生” _预期的结果是在铬和Firefox访问的jsfiddle返回。你在哪个浏览器中尝试过'css','javascript'? – guest271314
它工作,如果我使用setTimout,如果你取消注意它不起作用 –
使用'setTimeout'有什么问题? – guest271314