0

私が欲しいのは、ボタン ラベルを通じて操作ステータスに関するユーザー フィードバックを提供することです。最初はボタンに「保存」と表示されていますが、クリックしたらラベルを「保存中...」に変更したい別の関数に入り、関数が戻ったらラベルを「保存済み」に変更し、2秒間停止してラベルを再度初期に設定します」値を保存します。

コードは次のとおりです。

function myClickHandler(event)
{   
    document.getElementById("button").object.textElement.color = "saving...";
    functionx ()
    document.getElementById("button").object.textElement.color = "saved";
    sleep (5000);
    document.getElementById("button").object.textElement.color = "save";
}

document.getElementById("button").object.textElement.color = "save";問題は、キャンバスまたはボタンが関数を終了したときにのみレンダリングされるため、何らかの理由で最後のものだけが実際にキャンバスに表示されるmyClickHandlerことです。ヒントはありますか?
前もって感謝します

4

1 に答える 1

0

このようなものがうまくいくかもしれません。setTimeout はノンブロッキングであると確信しています。

function myClickHandler(event) {
    updateLabel("saving...");
    setTimeout("performFunctionX()", 250);
}

function performFunctionX() {
    functionx;()
    updateLabel("saved");
    setTimeout("updateLabel('save')", 5000);
}

function updateLabel(labelText) {
    document.getElementById("button").object.textElement.color = labelText;
}
于 2009-11-30T09:19:46.457 に答える