實現(xiàn)鏈式運動,把var flag = true;這句要放在定時器setInterval()里面
var flag = true; 這句要放在定時器setInterval()器里面,才能解決鏈式運動(Fn)無法實現(xiàn)的問題。
至于為什么不用 if(icur != json[attr]){ flag = false; }
???????????? else{flag = true;}? 這個方式解決,
是由于,這個方式會出現(xiàn)一個小bug,
<!DOCTYPE?html> <html> <head> <meta?charset="UTF-8"> <title>同時運動</title> <style?type="text/css"> *{ ????padding:?0px; ????margin:?0px; } li{ ????width:?100px; ????height:?50px; ????margin:?50px?0; ????background:?#ff0; ????fitler:alpha(opacity:?50); ????opacity:?0.5; } </style> <script?type="text/javascript"?src="js/move01.js"></script> <script?type="text/javascript"> window.onload?=?function(){ ????var?lis?=?document.getElementById('li0'); ????lis.onmouseover?=?function??()?{ ????????moveFn(lis,{width:300,height:100},function(){ ????????????moveFn(lis,{opacity:100,width:1000}); ????????}); ????}; ????lis.onmouseout?=?function?(){ ????????moveFn(lis,{opacity:50,width:300},function(){ ????????????moveFn(lis,{width:100,height:50});???????//就是這里的width會達不到預(yù)期 ????????}); ????}; };???? </script> </head> <body> ????<ul> ????????<li?id="li0"></li> ????</ul> </body> </html>
在鼠標移開事件,第二鏈里面設(shè)置兩個值,前面 width值 > height值,width值會達不到預(yù)期!
但是如果把width值移到height值后面,又能達到預(yù)期。
lis.onmouseout = function (){
? ? ? ?moveFn(lis,{opacity:50,width:300},function(){
? ? ? ? ? ?moveFn(lis,{height:50,width:100}); ? ? ? //就是這里的width會達不到預(yù)期
? ? ? ?});
2016-02-16
這個可能是高度達到的時間比較短,然后在封裝的startMove中判斷動畫停止的時候認為目標值已經(jīng)達到,所以執(zhí)行了clearInterval(time);所以width達不到預(yù)期