作者averywu (看文不要只会用横的看)
看板Ajax
标题[问题] 连续触发事件
时间Thu Dec 22 17:27:39 2011
一直对这个很不行...
<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
1F:→ musie:那把var s 拉到最外面去就好了.. 12/22 17:52
2F:→ averywu:拉到外面不就一载完HTML就执行了吗? 12/22 22:31
3F:→ iam87king:语法有错,$('#s').val+1改成$('#s').val()+1 12/22 22:48
4F:→ iam87king:不然就是$('#s').val(function(i, v){ return v+1 }); 12/22 22:49
5F:→ averywu:BBS上的语法只是表达想法,感谢指正。 12/23 04:47
※ 编辑: averywu 来自: 60.251.237.155 (12/23 04:48)
6F:推 musie:先在外面定义 var s; 在function go里面再 s =setInterval. 12/23 09:16
7F:→ musie:这样stop就可以吃到s了. 12/23 09:17