JavaScript

超轻量级php框架startmvc

JS实现的透明度渐变动画效果示例

更新时间:2020-07-07 12:12:01 作者:startmvc
本文实例讲述了JS实现的透明度渐变动画效果。分享给大家供大家参考,具体如下:<!DOCTY

本文实例讲述了JS实现的透明度渐变动画效果。分享给大家供大家参考,具体如下:


<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <title>www.jb51.net JS透明度变化效果</title>
 <style>
 body{
 margin: 0px;
 padding: 0px;
 }
 .redb{
 width:200px;
 height: 200px;
 background: red;
 filter:alpha(opacity=30);
 opacity: 0.3;
 }
 </style>
 </head>
 <body>
 <div class="redb" id="opbtn"></div>
 <script>
 window.onload = function(){
 var opDiv = document.getElementById("opbtn");
 opDiv.onmouseover = function(){
 startMove(100);
 }
 opDiv.onmouseout = function(){
 startMove(30);
 }
 }
 var timer = null;
 var alpha = 30;
 var speed = 0;
 function startMove(opTarget){
 clearInterval(timer);
 var opDiv = document.getElementById("opbtn");
 timer = setInterval(function(){
 if(alpha<opTarget){
 speed = 10;
 }
 else if(alpha>opTarget){
 speed = -10;
 }
 if(alpha==opTarget){
 clearInterval(timer);
 }
 else{
 alpha += speed;
 opDiv.style.opacity = alpha/100;
 opDiv.style.filter = 'alpha(opacity='+alpha+')';
 }
 },100);
 }
 </script>
 </body>
</html>

运行效果:

小结:

1、filter和opacity区别:w3c标准透明度就是opacity,filter只有IE才能用,其他浏览器都支持opacity 2、改变透明度时候,不能通过类似offsetLeft的方法获取透明度值,因此需要单独创建变量 3、不要忘记将定时器赋值给timer

JS 透明度 渐变动画