我有一个图片库,其中有上一个和下一个按钮。因此,为了使图像发生变化,我编写了一个函数,该函数不断单击下一个按钮来更改图像。
function infiniteLoop(time){
function f(){
$('.image-nav-next').click() // click the next button
timer = setTimeout(f, time)
}
f();
}
这对我来说效果很好。但现在我想暂停图像悬停时的点击事件。这意味着,当用户将鼠标悬停在图库中的图像上时,只要鼠标悬停在该图像上,它就应该显示相同的图像。当用户将光标从图像上移开时,图库将再次开始工作并像以前一样更改图像。我尝试了以下方法-
$('.myimg').mouseover(function(){
$('.image-nav-next').unbind('click');
});
然后
$('.myimg').mouseout(function(){
$('.image-nav-next').bind('click');
});
解除绑定(bind)工作正常,但重新绑定(bind)不起作用。有什么想法吗?
最佳答案
你的做法是错误的。
相反,您需要做的是在鼠标输入clearTimeout(timer)
时清除计时器,并且在鼠标离开时您可以通过调用infiniteLoop
再次安排循环
关于javascript - 取消绑定(bind)和绑定(bind)点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36053228/