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);

ed 値が整数であるparseInt()ことを確認するために使用することも検討する必要があります。split()すべてを 1 行に凝縮:

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

ただし、これは問題自体ではなく、問題の症状を修正するだけであることに注意してください。他のコードをチェックして、100 より大きい値を取得している場所を確認してください。

于 2012-06-25T07:46:08.610 に答える