Javascript 倒计时完成后,用按钮替换进度条

Javascript 倒计时完成后,用按钮替换进度条,javascript,Javascript,我想在倒计时结束后用按钮替换进度条 所以我使用这个代码 function progress(timeleft, timetotal, $element) { var progressBarWidth = timeleft * $element.width() / timetotal; $element.find('div').animate({ width: progressBarWidth }, timeleft == timetotal ? 0 : 1000, 'linear

我想在倒计时结束后用按钮替换进度条 所以我使用这个代码

function progress(timeleft, timetotal, $element) {
    var progressBarWidth = timeleft * $element.width() / timetotal;
    $element.find('div').animate({ width: progressBarWidth }, timeleft == timetotal ? 0 : 1000, 'linear').html(timeleft + " sec ");
    if(timeleft > 0) {
        setTimeout(function() {
            progress(timeleft - 1, timetotal, $element);
        }, 1000);
    }
    $('#progressBar').replaceWith('<button>Save Me</button>');
};
progress(20, 20, $('#progressBar'));
功能进度(timeleft,timetotal,$element){
var progressBarWidth=timeleft*$element.width()/timetotal;
$element.find('div').animate({width:progressBarWidth},timeleft==timetotal?0:1000,'linear').html(timeleft+“sec”);
如果(时间间隔>0){
setTimeout(函数(){
进度(timeleft-1,timetotal$元素);
}, 1000);
}
$('#progressBar')。替换为('Save Me');
};
进度(20,20,$);

但倒计时结束后按钮不显示,请检查代码

计时器结束后,您需要调用
replaceWith
。在您的示例中,您可以使用else语句执行此操作:

if (timeleft > 0) {
    setTimeout(function() {
        progress(timeleft - 1, timetotal, $element);
    }, 1000);
} else {
    $('#progressBar').replaceWith('<button>Save Me</button>')
}
if(timeleft>0){
setTimeout(函数(){
进度(timeleft-1,timetotal$元素);
}, 1000);
}否则{
$(“#progressBar”)。替换为('Save Me')
}

(我使用了您上一个问题中的HTML和CSS)。

您确定这次在问题中输入了所有正确的代码吗?因为我可以看到一个缺少的
,首先请注意,当询问关于代码不工作的问题时,请提供一个(在本例中,您缺少HTML和CSS来演示您的问题)