Jquery取消悬停事件,而切换事件是活跃的

Jquery cancel hover event while a toggle event is active

本文关键字:事件 活跃 取消 悬停 Jquery      更新时间:2023-09-26

我需要在切换事件激活时取消悬停事件,下面是代码

$("#fade").toggle(function () {
    if (!v.paused) {
        clearInterval(v.interval);
        v.paused = !0
    }
}, function () {
    if (v.paused) {
        v.interval = setInterval(function () {
            O(g.fwd, !1)
        }, r.animspeed);
        v.paused = !1
    }
})
i.hover(function () {
    if (!v.paused) {
        clearInterval(v.interval);
        v.paused = !0
    }
}, function () {
    if (v.paused) {
        v.interval = setInterval(function () {
            O(g.fwd, !1)
        }, r.animspeed);
        v.paused = !1
    }
})

我遇到的问题是,切换暂停滑块,但如果我悬停在滑块和它,它开始再次滑动。我知道它为什么会这样,我只是不知道如何解决它。

您可以创建一个函数来检查v是否被暂停,如果是,则不允许它发生。例如:

$("#fade").toggle(function () {
    if (isvPaused==false) {
        clearInterval(v.interval);
        v.paused = !0
    }
}

我找到了问题所在,只需要在悬停事件中命名函数,并在toggle事件中关闭和打开它们。

 $("#stopgo").toggle(function () {
    if (!v.paused) {
        clearInterval(v.interval);
        v.paused = !0
        i.off('hover', stop());
    }
}, function () {
    if (v.paused) {
        v.interval = setInterval(function () {
            O(g.fwd, !1)
        }, r.animspeed);
        v.paused = !1
        i.on('hover', start())
    }
})
i.hover(function stop() {
    if (!v.paused) {
        clearInterval(v.interval);
        v.paused = !0
    }
}, function start() {
    if (v.paused) {
        v.interval = setInterval(function () {
            O(g.fwd, !1)
        }, r.animspeed);
        v.paused = !1
    }
})