我有以下代码:

function functionName(){
    // blablabla
    // dosomething
    setTimeout(functionName, 5000);
}


好吧,我想让用户按下该功能停止回复的按钮...
使代码成为

function functionName(){
    // blablabla
    // dosomething

}


当他再次按下按钮时,它将再次开始...

function functionName(){
    // blablabla
    // dosomething
    setTimeout(functionName, 5000);
}


我该怎么做(使用jQuery)?

问候

最佳答案

非常简单,您可以使用JQuery中的toggle()并将其传递给两个方法。一个启动功能,另一个停止超时。

var timeoutId;

function functionName(){
    // blablabla
    // dosomething

    timeoutId = setTimeout(functionName, 2000);
}


$(document).ready(function(){
    $('#myButton').toggle( function() {
        functionName();
    }, function() {
        clearTimeout(timeoutId);
    });
});

关于javascript - 停止/启动自动回复功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4995323/

10-09 07:07