CSS3使用JAVASCript触发过渡效果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSS3使用JAVASCript触发过渡效果相关的知识,希望对你有一定的参考价值。

使用 :hover 和 :focus 这样的伪类,我们可以很方便的将元素从一个样式切换到另一个样式,而且切换是会有过渡效果。但有时我们想要使用 js 来驱动过渡(即在代码中触发过渡)也是可以实现的。
和普通过渡一样,先创建两个样式规则,一个是元素的初始状态,一个是过渡结束的状态。然后用 js 在合适的事机修改对应元素的样式即可。

下面以一个日夜景图片切换的样例演示:
(1)日景和夜景是两张图片叠在一起的。夜景图初始透明度是0,覆盖在日景图上方。
(2)点击“看夜景”按钮,夜景图透明度逐渐从0过渡到1,看起来画面慢慢变成夜景。
(3)点击“看日景”按钮,夜景图透明度逐渐又从1过渡到0,看起来画面恢复成日景。

在线样例如下:
技术分享
技术分享
<!doctype html>
<html lang="en">
<head>
<title>hangge.com</title>
 
<style>
img {
    position:absolute;
    transition: opacity 5s;
    -webkit-transition: opacity 5s;
}
 
.solid {
    opacity: 1;
}
 
.transparent {
    opacity: 0;
}
</style>
 
<script>
    function toNight(){
            var nightImage = document.getElementById("nightImage");
            nightImage.className = "solid";
    }
 
    function toDay(){
            var nightImage = document.getElementById("nightImage");
            nightImage.className = "transparent";
    }
</script>
</head>
<body>
    <button onclick="toNight()">看夜景</button>
    <button onclick="toDay()">看日景</button>
    <div>
        <img src="day.png" alt="日景"/>
        <img src="night.png" alt="夜景" id="nightImage" class="transparent"/>
    </div>
</body>
</html>

原文链接:

以上是关于CSS3使用JAVASCript触发过渡效果的主要内容,如果未能解决你的问题,请参考以下文章

如何触发css3过渡动画

CSS3之过渡

过渡效果

Vue深度学习-过渡效果

CSS3单向过渡?

CSS3丨5分钟就搞定的CSS3过渡