ダッシュボード:ボタンラベルを変更してユーザーフィードバックを提供する

StackOverflow https://stackoverflow.com/questions/1818494

  •  10-07-2019
  •  | 
  •  

質問

私が欲しいのは、ボタンのラベルを介してユーザーに操作ステータスに関するフィードバックを提供することです。 最初はボタンに「保存」と表示されますが、クリックするとラベルを「保存中...」に変更します。別の関数を入力し、関数が返されたら、ラベルを「保存済み」に変更します。 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";
}

問題は、何らかの理由で、キャンバスまたは myClickHandler 関数を終了すると、ボタンがレンダリングされます。 ヒントはありますか?
よろしくお願いします

役に立ちましたか?

解決

このような何かがよりうまくいくかもしれません。 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;
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top