首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >clearInterval没有清除

clearInterval没有清除
EN

Stack Overflow用户
提问于 2013-08-14 14:28:57
回答 2查看 160关注 0票数 0

看看下面的函数,它的目的是将按钮文本更改为"Abort“、"Abort 0”、"Abort 1“等等。

一旦计数器达到10,应该执行另一个函数,但是如果单击按钮,计数器应该停止,按钮文本应该返回到它的原始值("Sync DB")。

看来我是在用错误的方式来清理间隔时间。

如有任何协助,将不胜感激。

代码语言:javascript
复制
function sync_database(abort)
{
if (abort == true) { sync_db_btn.innerHTML = "Sync DB"; return false }

sync_db_btn.innerHTML = "Abort"
var i = 0;
sync_db_btn.addEventListener("click", function() { sync_database(true) } );

var x = setInterval(function() {
    if (abort == true) {
        clearInterval(x);
    }

    if (i < 10) {
        sync_db_btn.innerHTML = "Abort " + i++; 
    }
}, 1000);
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-14 15:29:08

我想你需要这样的东西:

代码语言:javascript
复制
var sync_db_btn = document.getElementById('but'),
    abortSync = -1,
    interval,
    sync_database = function () {
        var i = 0;
        abortSync *= -1;
        if (abortSync < 0) {
            sync_db_btn.innerHTML = 'Sync DB';
            clearInterval(interval);
            return false;
        }
        sync_db_btn.innerHTML = 'Abort';
        interval = setInterval(function () {
            if (i < 10) {
                sync_db_btn.innerHTML = 'Abort ' + i++;
            } else {
                sync_db_btn.innerHTML = 'Sync DB';
                clearInterval(interval);
                abortSync = -1;
            }
        }, 1000);
    };
sync_db_btn.addEventListener('click', sync_database);

jsFiddle现场演示

票数 0
EN

Stack Overflow用户

发布于 2013-08-14 14:36:08

代码语言:javascript
复制
var x;

sync_db_btn.addEventListener("click", function() {
    sync_database(true); 
    clearInterval(x); 
} );

function sync_database(abort)
{
if (abort == true) { sync_db_btn.innerHTML = "Sync DB"; return false }

    sync_db_btn.innerHTML = "Abort"
    var i = 0;

    x = setInterval(function() {    
        if (i < 10) {
            sync_db_btn.innerHTML = "Abort " + i++; 
        }
    }, 1000);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18234502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档