0

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

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

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

4

2 回答 2

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
    }
})
于 2013-06-14T06:16:21.500 回答
0

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

$("#fade").toggle(function () {
    if (isvPaused==false) {
        clearInterval(v.interval);
        v.paused = !0
    }
}
于 2013-06-14T06:07:31.030 回答