我希望当鼠标悬停在图像上时,应触发一次事件,并且只有在鼠标离开该图像并再次返回后,并且至少经过 2 秒后,才应再次触发该事件。
如果我将鼠标悬停在图像上,它会像每毫秒一样被调用,并且根据我的函数逻辑,一旦您将鼠标悬停在变量上,“canhover”就会变为 0,直到您将鼠标移出
这段代码似乎有一个错误,但我看不到它。我需要一双新的眼睛,但算法有点合乎逻辑
工作代码:
<script type="text/javascript">
var timeok = 1;
function redotimeok() {
timeok = 1;
}
//
function onmenter()
{
if (timeok == 1)
{
enter();
timeok = 0;
}
}
//
function onmleave()
{
setTimeout(redotimeok, 2000);
leave();
}
//
$('#cashrefresh').hover(onmenter,onmleave);
function enter(){
$("#showname").load('./includes/do_name.inc.php');
$("#cashrefresh").attr("src","images/reficonani.gif");
}
function leave(){
$("#cashrefresh").attr("src","images/reficon.png");
}
</script>
最佳答案
我不知道这是否能解决您的整个问题(因为我们没有详细说明它是什么),而是:
$('#cashrefresh').hover(onmenter(),onmleave());
尝试:
$('#cashrefresh').hover(onmenter,onmleave);
这里也是同样的事情:
setTimeout(redotimeok, 2000); // just the function name
此外,我不知道您在哪里将 timeok
设置为零。您的意思是在 onmenter()
中设置 timeok = 0
吗?
关于javascript - 看不到 JS 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3419408/