作者maonenine (兩光宅男)
看板Web_Design
標題[問題] clearTimeout 沒效,圖片還會一直加速
時間Mon Aug 11 18:52:36 2008
我想要圖疑動完之後就停在原來的地方
可是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
推 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