当切换事件处于活动状态时,Jquery取消悬停事件

时间:2013-06-14 05:55:15

标签: javascript jquery

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

$("#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
    }
})

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

我弄清楚了我遇到的问题,只需要在悬停事件中命名功能,然后在切换事件中关闭和打开它们。

 $("#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
    }
})