我正在使用一个简单的函数,它运行一个缓慢的功能之前,它把一个文本在页面中:“加载”。但是该文本仅在功能完成后才显示。 我也尝试添加一个CSS,但它只在函数完成后才运行。内容更改后运行javascript
我把一个例子放在小提琴上,用睡眠功能代替我的大功能。结果是一样的。
http://jsfiddle.net/9nzg9f6L/5/
这里我使用的HTML页面的代码:
<div id='msg'>BEGIN</div>
<div style="cursor: pointer; color:red;" id='clickme'>click me!</div>
这里是javascript代码:
$("#clickme").click(function(){
// this code only run after the sleep ...
$('#msg').text("PROCESSING");
console.log("text changed");
sleep(5000);
console.log("END function");
});
function sleep(miliseconds) {
var currentTime = new Date().getTime();
while (currentTime + miliseconds >= new Date().getTime()) {}
}
我不能修改睡眠(5000)函数。它是专有和混淆函数的占位符。
即使是这样: http://jsfiddle.net/9nzg9f6L/7/
不起作用。
这就是___不是你如何在JavaScript中设置一个计时器!一个'while'循环在适当的时间过去之前什么也不做?真的吗?改用['setTimeout'](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers.setTimeout)。 – Cerbrus 2015-02-10 14:25:56
probme不是setTimeout。 在我的真实代码中,我不打电话给定时器。 我正在使用插件功能。我有同样的行为。另外我不能修改这个功能。 – ricardo 2015-02-10 14:31:19
哦,我明白了...睡眠函数是一个“重功能”的占位符。 – Cerbrus 2015-02-10 14:35:09