-1

これはJavaスクリプトの私のコードです:

function DrawPollBars(BarVar, BarWidth) {

var newbar = new Array();
newbar = BarVar;
var newWidth = new Array();
newWidth = BarWidth;
var IncVa;
TotalVotes = sum(BarVar, BarWidth);
IncVal = parseFloat(TotalVotes / 10);
//var percent = 0.00; var count = 0;
var NewBarWidthb = new Array();
var BarNextVar = new Array();
//NewBarWidth = "NewBarWidth" + x;
NewBarWidthb[x] = 0;
//NewBarWidthb[x] = NewBarWidth;
for (var x = 1; x < BarWidth.length; x++) {
    var PollBar = document.getElementById('PollBar' + x);
    var PollRate = document.getElementById('PollRate' + x);
    if (parseInt(parseInt(BarVar[x]) * 200 / TotalVotes) > 0) NewBarWidthb[x] = parseInt(BarVar[x]) * 200 / TotalVotes;
    else if (BarVar[x] >= 0) NewBarWidthb[x] = 1;
    else NewBarWidthb[x] = 0;


    var pollbar = PollBar.style.width = NewBarWidthb[x] + 'px';
    var pollrate = PollRate.innerHTML = parseFloat(BarVar[x]).toFixed(0) + " (" + parseFloat(parseFloat(BarVar[x]) / TotalVotes * 100).toFixed(1) + "%)";
    //percent = parseFloat(parseFloat(BarWidth[x]) / TotalVotes * 100).toFixed(2) ;
    // count = parseFloat(BarWidth[x]).toFixed(0);
    if (BarVar != BarWidth) {
        if (parseFloat(BarVar[x]) + IncVal <= parseInt(BarWidth[x])) BarNextVar[x] = parseFloat(BarVar[x]) + IncVal; else BarNextVar = BarWidth;

    }
}

var ff = window.setTimeout("DrawPollBars([" + BarNextVar + "],[" + BarWidth + "]);", 90);

}  

初めてbtnをクリックすると問題なく動作しますが、2回目は正しくないようです原因がわかりません

4

1 に答える 1

0

window.clearTimeout(timeoutID); を使用してみてください。アクションを完了した後。

詳細については、https://developer.mozilla.org/ro/docs/Web/API/window.setTimeoutをご覧ください。

于 2013-10-18T14:15:19.963 に答える