javascript - 悬停时jQuery暂停功能?

标签 javascript jquery setinterval

我有一个 jQuery/JS 函数,它使用 setInterval 循环播放我的一些图片幻灯片。它只是每 5 秒翻阅一次...

现在我想让它在我的鼠标悬停在它上面时暂停。我该如何在 setInterval 函数上执行此操作?

var current = 1;

function autoAdvance() {
    if (current == -1) return false;

    jQuery('#slide_menu ul li a').eq(current % jQuery('#slide_menu ul li a').length).trigger('click', [true]);
    current++;
}

// The number of seconds that the slider will auto-advance in:
var changeEvery = jQuery(".interval").val();
if (changeEvery <= 0) {
    changeEvery = 10;
}
var itvl = setInterval(function () {
    autoAdvance()
}, changeEvery * 1000);

最佳答案

假设 interval 是在外部范围内定义的,这样的事情会起作用:

$('.slideshow img').hover(function() {
  interval = clearInterval(interval);
}, function() {
  interval = setInterval(flip, 5000);
});

关于javascript - 悬停时jQuery暂停功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4766163/

相关文章:

javascript - 聊天 Web 应用程序 jquery scrollTop 问题

javascript - "open popup programmatically"按钮在我创建的 mapbox.js map 上不起作用

javascript - 无法设置点击另一个单元格的 TD 的原始颜色

javascript - 不使用 <any> 的 typescript 和解决 promise

javascript - 无法使用 Node.js、Express 和 EJS 显示图像

javascript - 为什么javascript setTimeout 延迟不起作用并且 setInterval 太慢

javascript - setInterval 窗口焦点和休眠

javascript - 如何停止 setInterval()?

javascript - AngularJS,Karma - 使用 setPristine 清除 ng-dirty

javascript - 无法从 JSON 请求中获取数据,尽管我知道它已返回