尝试创建越来越慢的加载栏。我已经做到了,所以增加宽度的每一位都逐渐变小,但是现在我想对间隔值做同样的事情。截至目前,我的变量“ itime”设置为1000,并且不会随着每个步骤而变慢。我究竟做错了什么?

var itime = 1000;

var progress = setInterval(function(){

    var insidewidth = $('#inside').width();

    if (insidewidth > 388) {
        $("body").css("background","blue");
        clearInterval(progress);
    }
    else {
        $("#inside").width($("#inside").width() + (175/insidewidth) );
        itime += 1000;
    };


}, itime);

最佳答案

设置时间间隔后,您不能只更改它。使用超时和递归代替:

var itime = 1000;

function progress(){
    setTimeout(function() {
        var insidewidth = $('#inside').width();

        if (insidewidth > 388) {
            $("body").css("background","blue");
        } else {
            $("#inside").width(insidewidth + (175/insidewidth) );
            itime += 1000;
            progress();
        }

    }, itime);
}

关于javascript - 逐渐减少间隔,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19126673/

10-11 13:19