第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Js多物體運動框架定時器失效。(只能一幀一幀的動)

Js多物體運動框架定時器失效。(只能一幀一幀的動)

火光余見3658736 2016-09-17 17:42:25
<!DOCTYPE?html> <html> <head> <meta?charset="UTF-8"> <title>Document</title> <style> div{ height:?200px; width:?100px; background-color:?red; margin:?20px; float:?left; } </style> <script?type="text/javascript"> window.onload?=?function()?{ var?dv?=?document.getElementsByTagName('div'); //給DIV綁定鼠標(biāo)移入事件 for(var?i=0;i<dv.length;i++){ dv[i].timer??=?null; dv[i].onmouseover?=?function(){ starMove(this,'width',500) } }????????????????????? ??????????????????????//創(chuàng)建一個獲取外部樣式的函數(shù) ???????????function?getStyle(obj,name){ ????????????if(obj.currentStyle){ ?????????????????return?obj.currentStyle[name]; ????????????}else?{ ????????????return?getComputedStyle(obj,false)[name]; ????????????} ???????????} ???????????//運動函數(shù) ???????????function?starMove(obj,atr,target){ ??????????????clearInterval(obj.timer); ??????????????var?cur?=?parseInt(getStyle(obj,atr)) ??????????????obj.timer?=?setInterval(function(){ ????????????????var?speed?=?(target?-?cur)/6; ??????????????speed?=?speed>0?Math.ceil(speed):Math.floor(speed); ??????????????if(cur==target){ ??????????????????????clearInterval(obj.timer) ??????????????}else?{ ????????????????? ?????????????????obj.style[atr]?=?cur?+?speed?+'px'; ????????????????? ??????????????} ??????????????},30); ????????????? ???????????} } </script> </head> <body> <div?id="d1"></div> <div?id="d2"></div> <div?id="d3"></div> </body> </html>運行后無法正確執(zhí)行運動= = 定時器只能執(zhí)行一次 就只移動一下 再移入還是會移動 最終會到500 球各位大神找下錯誤 感激不盡
查看完整描述

2 回答

已采納
?
OlderSkee

TA貢獻(xiàn)123條經(jīng)驗 獲得超103個贊

因為你雖然有定時器,但是函數(shù)仍然只執(zhí)行一次,

在46 - 47 之間加入?

starMove(obj,atr,target);

就ok了。

另外你這種遞歸調(diào)用,用setTimeout比setInterval性能應(yīng)該要好一些。

當(dāng)然,效果是一樣的。 記得清除也換成clearTimeout。

查看完整回答
1 反對 回復(fù) 2016-09-17
  • 火光余見3658736
    火光余見3658736
    36行的變量沒有寫進(jìn)定時器 所有值一直不變 就只執(zhí)行一次了。之前發(fā)現(xiàn)啦 謝謝你的回答!
  • 2 回答
  • 0 關(guān)注
  • 1454 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號