悬停/setInterval:未定义的时间流逝

发布于 2024-10-31 14:23:31 字数 589 浏览 0 评论 0原文


我尝试对同一个 div 使用“hover”函数和 setInterval :如果我们将鼠标悬停在 div 上,setInterval 就会启动。
但我有一个问题:似乎对于 2 个不同的 div,当我将鼠标悬停在第二个 div 上时,它首先“等待”1000 毫秒,然后再启动第二个 div 的“setInterval”。因此,当我将鼠标悬停在第二个 div 上时,它们都保持当前图像,过了一会儿,第二个 div 的 setInterval 开始。 (我希望它快点,而不是等待那些女士)。

你知道我该怎么做吗?
这是我的代码:

var intval;    
    img.bind('mouseenter', function(){   
        var that = $(this);  
    intval = setInterval(function(){  
        next(that);  
    },1000);  
}).bind('mouseleave', function(){  
    var that = $(this);  
    clearInterval(intval);  
}); 

非常感谢。

i try to use a 'hover' function and a setInterval for the same div : if we hover the div, the setInterval starts.
But i have a problem : it seems that for 2 different divs, when i hover the second div, it first 'waits' 1000 ms before starting the 'setInterval' of the second div. So when i hover the second div, both of them stay with their current image, and after a moment the setInterval of the second div starts. (i would like it to be quick, not wait for those ms).

Do you know how i could do that?
here's my code :

var intval;    
    img.bind('mouseenter', function(){   
        var that = $(this);  
    intval = setInterval(function(){  
        next(that);  
    },1000);  
}).bind('mouseleave', function(){  
    var that = $(this);  
    clearInterval(intval);  
}); 

Thanks a lot.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

焚却相思 2024-11-07 14:23:31

通过在 mouseenter 事件中调用 next() ,它应该可以工作。

var intval;    

img.bind('mouseenter', function(){   
    var that = $(this);  
    next(that);
    intval = setInterval(function(){  
        next(that);  
    }, 1000);  
}).bind('mouseleave', function(){  
    var that = $(this);  
    clearInterval(intval);  
}); 

By calling next() in the mouseenter event it should work.

var intval;    

img.bind('mouseenter', function(){   
    var that = $(this);  
    next(that);
    intval = setInterval(function(){  
        next(that);  
    }, 1000);  
}).bind('mouseleave', function(){  
    var that = $(this);  
    clearInterval(intval);  
}); 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文