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 回答