javascript - 取消绑定(bind)和绑定(bind)点击事件

标签 javascript jquery

我有一个图片库,其中有上一个和下一个按钮。因此,为了使图像发生变化,我编写了一个函数,该函数不断单击下一个按钮来更改图像。

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/

相关文章:

javascript - 使用内联 javascript 添加当前日期

jquery - 合并css和jQuery涉及的两个html

jquery - AJax 不适用于 bootstrap-select

javascript - 如何更改 JavaScript 中的 "this"指针?

jquery 如何删除存在 2 个 div 的实例?

javascript - 在 Ruby 中实现类似 JavaScript 的闭包

javascript - 如何每分钟重复一个div

javascript - 获取更改时的旧单选按钮

javascript - 使用 Javascript 通过单击按钮获取表格单元格元素

javascript - 从 iFrame 中卸载/删除内容