Панель инструментов: предоставление обратной связи с пользователем путем изменения метки кнопки

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";
}

Проблема в том, что по какой-то причине только последний document.getElementById (" кнопка "). 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