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