使用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>
以上所述是小编给大家介绍的使用JavaScript触发过渡效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
相关文章
Javascript insertAfter() 实现函数代码
DOM没有提供insertAfter()方法,我们可以自己扩展下。2011-10-10
《javascript设计模式》学习笔记七:Javascript面向对象程序设计组合模式详解
这篇文章主要介绍了Javascript面向对象程序设计组合模式,结合实例形式分析了《javascript设计模式》中Javascript面向对象组合模式相关概念、原理、定义、用法及操作注意事项,需要的朋友可以参考下2020-04-04
JS getRandomValues和Math.random方法深入解析
这篇文章主要为大家介绍了JS getRandomValues和Math.random方法深入详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-04-04


最新评论