[問題] 連續觸發事件

看板Ajax作者 (看文不要只會用橫的看)時間14年前 (2011/12/22 17:27), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/1
一直對這個很不行... <span id = "start">1234</span> <script....> $(document).ready(function(){ $('#start').bind('mouseover',function(){ $('#s').val($('#s').val()+1) }) }) </script> 這樣當MOUSEOVER發生時,只會觸發一次。 如果變成 $(document).ready(function(){ $('#start').bind('mouseover',function(){ $('#s').val($('#s').val()+1) $('#start').mouseover(); }) }) 會變成跑太快,而且永遠不會停。 之前遇的例子是按下按鈕後,上方的文字會每秒累加,放開後停止。不會弄就算了。 這次是onmouseover時,自動拉下捲軸(scroll)。相同問題,所以想知道怎麼處理。 有試過setinterval. $('#start').bind('mouseover',function(){ go(); }) $('#start').bind('mouseout',function(){ stop(); }) function go(){ var s = setinterval('go()',5000); $('#s').val($('#s').val()+1); } function stop(){ clearinterval(s) } 這個...變數不是全域所以也停不下來... 這最基礎的東西就是我的罩門... -- 小惡魔的家 http://blog.pixnet.net/shiuju/ -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.237.155

12/22 17:52, , 1F
那把var s 拉到最外面去就好了..
12/22 17:52, 1F

12/22 22:31, , 2F
拉到外面不就一載完HTML就執行了嗎?
12/22 22:31, 2F

12/22 22:48, , 3F
語法有錯,$('#s').val+1改成$('#s').val()+1
12/22 22:48, 3F

12/22 22:49, , 4F
不然就是$('#s').val(function(i, v){ return v+1 });
12/22 22:49, 4F

12/23 04:47, , 5F
BBS上的語法只是表達想法,感謝指正。
12/23 04:47, 5F
※ 編輯: averywu 來自: 60.251.237.155 (12/23 04:48)

12/23 09:16, , 6F
先在外面定義 var s; 在function go裡面再 s =setInterval.
12/23 09:16, 6F

12/23 09:17, , 7F
這樣stop就可以吃到s了.
12/23 09:17, 7F
文章代碼(AID): #1EylWEih (Ajax)
文章代碼(AID): #1EylWEih (Ajax)