编程语言
首页 > 编程语言> > javascript的CSS转换没有转换

javascript的CSS转换没有转换

作者:互联网

当我尝试使用纯CSS进行简单转换时,一切正常.
但是,当我尝试调用单击链接时会修饰CSS的javascript函数时,没有过渡.我想淡入灰色层.

HTML:

<a href="someImage.jpg" id="test">
    <img src="someImage.jpg" alt="" />
</a>
<section id="grey"> 
</section>

JS:

var grey = document.getElementById("grey");
var link = document.getElementById("test");
link.onclick = function () {
    grey.style.display = "block";
    grey.style.opacity = "1";
    return false;
};

CSS:

section {
    display:none;
    size and position...
    opacity: 0;
    background-color: rgba(0,0,0,0.5);
    transition: opacity 1s .5s;
}

(请参阅http://jsfiddle.net/7zEhx/5/)

我正在使用FF22,有人知道任何解决方案吗?

解决方法:

display:none元素不会过渡,并且display:block尚未设置其他样式.像这样的骇客骇客:

setTimeout(function() {
    grey.style.opacity = "1";
}, 0);

但是我只是将width设置为0而不是设置display,然后将其恢复为100%.
Updated jsFiddle

标签:css-transitions,transitions,css,javascript
来源: https://codeday.me/bug/20191030/1970010.html