Javascript 我能';t清除间隔

Javascript 我能';t清除间隔,javascript,Javascript,我的时间间隔有问题,在使用值调用函数后无法清除 间隔将继续增加数字并返回宽度的百分比 这是我的代码: function loadingClient(data) { var loadingClientDiv = document.getElementById('loadingClient'); var percentageLoading = document.getElementsByClassName('percentageLoading'); var charge =

我的时间间隔有问题,在使用值调用函数后无法清除

间隔将继续增加数字并返回宽度的百分比

这是我的代码:

function loadingClient(data) {

    var loadingClientDiv = document.getElementById('loadingClient');
    var percentageLoading = document.getElementsByClassName('percentageLoading');
    var charge = 1;
    var intervalLoadingClient = setInterval(barCharge, 1000);

    function barCharge() {
        if (charge >= 76) {
            clearInterval(intervalLoadingClient);
        } else {
            ++charge;
            $(percentageLoading).css("width", charge + "%");
        }
    }

    if (data === "100") {
        clearInterval(intervalLoadingClient);
        $(percentageLoading).css("width", "100%");
        setTimeout(closeLoadingClient, 5000);
        setTimeout(removeLoadingClient, 7000);

        function closeLoadingClient() {
            $(loadingClientDiv).hide("fade", 1000);
        }

        function removeLoadingClient() {
            $(loadingClientDiv).remove();
        }
    }

}

loadingClient();

@hudolfhess是正确的,您需要使用clearInterval而不是clearTimeout

而且

如果你想做这样的事情,那是行不通的

loadingClient()//应启动间隔。

loadingClient(“100”)//应清除间隔,但不清除
间隔
!==<代码>超时
。您正在清除或设置错误的内容。@deceze setInterval和setTimeout返回来自同一池的ID,您可以在任何setXxx上调用任何clearXxx,它们不查看类型。