页面没有反应
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>链式运动框架</title> <style type="text/css"> body,ul,li{ margin: 0; padding: 0; } ul,li{ list-style: none; } ul li{ width: 200px; height: 100px; background: yellow; margin-bottom: 20px; border: 4px solid #000; filter: alpha(opacity:30); opacity: 0.3; } </style> <script type="js/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/move.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(){ //获取当前属性值 var icur; if(attr=="opacity"){ icur=Math.round(parseFloat(getStyle(obj,attr))*100); }else{ icur=parseInt(getStyle(obj,attr)); } //计算变化速度 var speed=(iTarget-icur)/8; speed=speed>0?Math.ceil(speed):Math.floor(speed); //检测停止 if(icur==iTarget){ clearInterval(obj.timer); if(fn){ //当某一动画结束时,如果有回调函数,则执行 fn(); } }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); }
外部js的路径也没有错 为什么函数未定义呢