javascript - 看不到 JS 的问题

标签 javascript jquery mouse

我希望当鼠标悬停在图像上时,应触发一次事件,并且只有在鼠标离开该图像并再次返回后,并且至少经过 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/

相关文章:

javascript - 如何将任何数组从 ng-repeat 传递到 AngularJs 属性指令?

javascript - D3.js - 错误 : d3. line() 不是函数(从版本 4 更改为 3)

javascript - 尝试使用 AJAX 发送 FormData 时表单数据未通过?

javascript - 带有动态可观察值和 html 模板的 knockout 网格

javascript - 通过拖动元素传递鼠标悬停事件

javascript - JQuery 列计算

c++ - 通过鼠标调整大小

javascript - 如何获取 JSON stringify 的错误信息?

c# - 如何在事件处理程序中获取图像鼠标单击的坐标?

java - 绘制时计算线条粗细