我想要的是通过按钮标签向用户提供有关操作状态的反馈。 最初按钮说<!>“保存<!>”;一旦点击我想将标签更改为<!>“;保存... <!>”;输入另一个函数,一旦函数返回,将标签更改为<!> quot; saved <!> quot;然后暂停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函数时呈现。 任何提示?
提前致谢

有帮助吗?

解决方案

这样的事情可能会更好。我很确定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