看板 Web_Design 關於我們 聯絡資訊
我想要圖疑動完之後就停在原來的地方 可是clearTimeout一直沒有效果 而且滑鼠只要經過圖,圖就會加速 經過越多次越快,怎麼會這樣? <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=big5"> <title>新增網頁1</title> </head> <body> <p>  </p> <p>  </p> <p>  </p> <p> <img id=1 border="0" src="http://l.yimg.com/tw.yimg.com/i/tw/sports/olympics6/60x60.jpg" width="20" height="21" onmousemove="qq()"></p> <script language=javascript> var s_y=0; var t; function qq(){ document.getElementById('1').style.marginTop=s_y; s_y=s_y-1; document.getElementById('1').style.marginTop=s_y; t= setTimeout("qq()",100); if(s_y<-200){ s_y=0; timeout(); }} function timeout(){clearTimeout(t);} </script> </body> </html> -- 一台電腦一張卡 型男陳士駿 一台電腦一張卡 宅男maonenine -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.142.25.213
cassatte:setTimeout 只會執行一次,所以你清除的動作是多餘的 08/11 21:18
cassatte:還有,目前看來你的觸發方法 mousemove 似乎有問題 08/11 21:21
maonenine:setTimeout不是100毫秒就會執行一次嗎? 08/11 21:45
TonyQ:問題在於qq遞迴qq 永遠都有下一次timerout 08/11 21:46
TonyQ:應該要針對 setTimeout("qq()",100); 下條件控制 08/11 21:47
maonenine:主要是我一直無法清除掉計時的情況,圖片歸位又自己上跑 08/11 21:47
maonenine:TonyQ說的我不是很懂,我是照W3CSchool範例下去改的 08/11 21:51
maonenine:http://0rz.tw/4b4BO 他確實能停止計數 忘了說抱歉T大 08/11 21:54
TonyQ:clearTimeout本身是可以中斷正在進行的程序 , 但是在你的例 08/11 21:58
TonyQ:子中由於mousemove會在經過時不斷觸發 , 所以會產生多個func 08/11 21:58
TonyQ:tion 導致一歸0就有另一個function 繼續接著跑 . 08/11 21:59
TonyQ:而T只紀錄最後一個 , 所以會造成其他的也不會被清掉 08/11 22:01
TonyQ:變成一個無窮迴圈 08/11 22:02
maonenine:真的耶,我拿去驗證W3C的範例,多點會加速計時 08/11 22:05
maonenine:要停止就看點幾下,還幾次 08/11 22:07
TonyQ:還是來寫今天的文章好了 , 今天的文章會針對相關效果介紹. 08/11 22:10