<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <style> * { margin: 0; padding: 0; } ul, li { list-style: none; } #li1 { width: 200px; height: 100px; border: 4px solid black; background: yellow; margin-bottom: 20px; filter: alpha(opacity:30); opacity: 0.3; } </style> <script src="move.js"></script> <script> window.onload=function(){ var Li = document.getElementById('li1'); Li.onmouseover = function(){ startMove(Li,'width',400,function(){ startMove(Li,'height',200,function(){ startMove(Li,'opacity',100); }); }); } Li.onmouseout = function(){ startMove(Li,'opacity',30,function(){ startMove(Li,'height',100,function(){ startMove(Li,'width',200); }); }); } } </script> </head> <body> <ul> <li id="li1"></li> </ul> </body> </html>
下面是js的
function getStyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; }else{ return getComputedStyle(obj,false)[attr]; } } function startMove(obj,attr,iTarget,fn){ clearInterval(obj.timer); obj.timer = setInterval(function(){ //1.取当前的值 var icur = 0; if(attr =='opacity'){ icur = Math.round(parseFloat(getStyle(obj, attr))*100); }else{ icur=parseInt(getStyle(obj, attr)); } //2.算速度 var speed = (iTarget-icur)/8; speed = speed>0?Math.ceil(speed):Math.floor(speed); //3.检测停止 if(icur==iTarget){ clearInterval(obj.timer); }else if(attr=='opacity'){ obj.style.filter = 'alpha(opacity:'+(icur+speed)+')'; obj.style.opacity =(icur+speed)/100; }else{ obj.style[attr]=icur+speed+"px"; } },30) }
stone310
慕的地6079101
这都不会
相关分类