0

这是一小段代码。请帮帮我..

percentComplete = msg.split(":")[0];
stepNumber = msg.split(":")[1];

if(stepNumber == "100" || stepNumber == "200") {
    doRefresh = false;
    enableButtons();
    $("#progressBar").hide(400);

    return 0;
} else {
    doRefresh = true;
    $("#progressBar").fadeIn(300);
    disableButtons();
}

$("#progBar").html(percentComplete + "%");
document.getElementById("progBar").style.width = percentComplete + "%";

提前致谢

4

1 回答 1

2

尚不清楚为什么在整个代码中使用 jQuery 时document.getElementById(),最后使用,但没关系。

要解决您的问题,请使用Math.min()将值固定为 100:

percentComplete = msg.split(":")[0];
percentComplete = Math.min(percentComplete, 100);

您还应该考虑使用parseInt()以确保您的split()ed 值是整数。浓缩成一行:

percentComplete = Math.min(parseInt(msg.split(":")[0], 10), 100);

但是请记住,这只能解决问题的症状,而不是问题本身。检查你的其他代码,看看你在哪里得到大于 100 的值。

于 2012-06-25T07:46:08.610 回答