我有一个名为goRight()的函数,当我点击一个名为“goright”的div时会执行一些操作。
我想这样做,当我将鼠标悬停在div“goright”上时,只要我正在徘徊,它就会重复调用该函数(稍有延迟),然后什么都不做,一旦我移动它就停止小鼠走了。
我已经尝试过setInterval,但我认为我误解了它是如何工作的,因此它无法正常运行。
感谢。
答案 0 :(得分:3)
不使用jQuery但这适用于我,方法应该类似
<script type="text/javascript" charset="utf-8">
var doingStuff = false;
function doStuff() {
if (doingStuff) {
document.getElementById('stuff').innerHTML += '.';
setTimeout(doStuff, 100);
}
}
</script>
<p onmouseover="doingStuff = true; doStuff()" onmouseout="doingStuff = false">
Mouseover to do stuff
</p>
<p id="stuff">Stuff: </p>
只要您悬停,这将每100毫秒向文档添加.
。
基本上,在鼠标悬停时将布尔值设置为true,并将false和鼠标移出。除非变量为真,否则不要安排下一个调用。此外,除非您需要,否则您不会每100毫秒调用一次函数。意思是什么都没有发生,直到你悬停,将var设置为true并启动重复功能。