纯JS实现透明动画二

纯JS实现透明动画二之鼠标移出和移进,改变透明过渡效果。
主要是利用JS的时间函数去实现的, setintervalsettimeout
不过此类方法容易造成时间点冲突,大家慎用,一定要耐心检查。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <style type="text/css"> *{ margin:0px; padding:0px;} ul,li{ display:block; list-style:none;} .ul_1 li{ height:300px; width:300px; margin-top:5px; margin-left:10px; float:left; background:#00F; line-height:25px; color:#fff; opacity:0.3; filter:Alpha(opacity=30);} </style> </head> <body>   <ul class="ul_1"> <li>sss</li>     <li></li>     <li></li>     <li></li>     <li></li>     <li></li>     <li></li>     <li></li> </ul>   <script> window.onload = function(){ var ul_1 = document.getElementsByTagName('ul')[0]; var li = ul_1.getElementsByTagName('li'); //var opcity = new Array(); for(i=0;i<li.length;i++){ li[i].opcity = 30;//初始化透明度 li[i].times = null; li[i].onmouseover = function(e){ clearInterval(this.times); start_obcity(this,100); } li[i].onmouseout = function(e){ clearInterval(this.times); start_obcity(this,30); } }   }     function start_obcity(obj,opcity){   obj.times = setInterval(function(){ if(obj.opcity == opcity){ clearInterval(obj.times); }else{ if(obj.opcity>opcity){ alpha = obj.opcity-=10;   }else{ alpha = obj.opcity+=10;   } obj.style.filter = 'alpha(opacity:'+alpha+')'; obj.style.opacity = alpha/100; } },30);       }     </script>   </body> </html>  

返回顶部
跳到底部

Copyright 2011-2024 南京追名网络科技有限公司 苏ICP备2023031119号-6 乌徒帮 All Rights Reserved Powered by Z-BlogPHP Theme By open开发

请先 登录 再评论,若不是会员请先 注册