javascript - 单击鼠标时如何停止重复功能?

标签 javascript jquery

我真的需要一些帮助。我下面有一个 javascript/jquery slider ,它一遍又一遍地重复。如果可能的话,我希望它在单击特定按钮时停止重复。我是一个完全的新手,花了很多时间才达到这一点!任何帮助将不胜感激。

$(document).ready(function () {

    var i = 0;
    var z = 0;
    delay = 5000;
    var el = $('#scroll-script');
    var ql = $('#info-box');
    var classesb = ['fp-info-one', 'fp-info-two', 'fp-info-three', 'fp-info-four'];
    var classes = ['fp-slide-one', 'fp-slide-two', 'fp-slide-three', 'fp-slide-four'];
    var interval = setInterval(function () {
        el.removeClass().addClass(classes[i]);
        i = (i + 1) % 4;
        ql.removeClass().addClass(classesb[z]);
        z = (z + 1) % 4;
    }, delay);

});

最佳答案

$(document).ready(function () {

    var i = 0;
    var z = 0;
    delay = 5000;
    var el = $('#scroll-script');
    var ql = $('#info-box');
    var classesb = ['fp-info-one', 'fp-info-two', 'fp-info-three', 'fp-info-four'];
    var classes = ['fp-slide-one', 'fp-slide-two', 'fp-slide-three', 'fp-slide-four'];
    var interval = setInterval(function () {
        el.removeClass().addClass(classes[i]);
        i = (i + 1) % 4;
        ql.removeClass().addClass(classesb[z]);
        z = (z + 1) % 4;
    }, delay);

    // code that stop repeat
    $('#your_button').on('click', function() {
      clearInterval(interval );
    });
});

因为,您正在使用 setInterval() 来重复时间,因此要清除该计时器,您需要使用 clearInterval().

注意

#your_button 将替换为目标按钮的适当选择器。

关于javascript - 单击鼠标时如何停止重复功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12172259/

相关文章:

javascript - 如何使用列值和行值突出显示/着色表 td?

javascript - 使用 For 循环追加。在附加之前将字符串中的字符按顺序添加到元素

javascript - Vue + 火力地堡 : Users being created but logged in under other users accounts

javascript - "migration:create"和 "migration:generate"之间有什么区别?

javascript - 无法在文本字段上设置 focus()

javascript php AJAX 刷新 DIV 的一部分

javascript - 限制变量长度

javascript - 从 React 组件函数中的另一个文档调用普通的 javascript 函数

jquery - ajax表单提交后跳转到ID

jquery - Fadeout 和 Fadein 进入同一个空间