我有以下腳本的命令:暫停的javascript腳本改變外觀
posting();
pause(time);
postSent(postUrl, fields);
function postSent(postUrl, fields)
{
$.ajax({
url : postUrl,
type : "POST",
data : fields,
cache : false,
error : function(xhr, textStatus, errorThrown) {
var answer = xhr.responseText;
answer = answer.split(":");
answer = answer[0].replace(/}/g,"").replace(/{/g,"").replace(/"/g,"");
if (answer == "id")
{
isPostSent = true;
}
else
{
isPostSent = false;
}
}
});
}
function pause(milliseconds) {
var dt = new Date();
while ((new Date()) - dt <= milliseconds) { /* Do nothing */ }
}
function posting()
{
var table = '';
table += '<table border="0" rules="none" cellpadding="5" style="z-index:+10; position:fixed; top:35%; left:35%; box-shadow: 0px 0px 5px 5px #888888;" rules="none" border="0" bgcolor="#edeff4">';
table += '<td align="center">';
table += '<img src="images/loading.gif" id="post_status_image">';
table += '</td>';
table += '<tr >';
table += '<td align="center">שולח הודעה, אנא המתן...</td>';
table += '</tr>';
table += '<tr>';
table += '<td align="center" id="post_status"></td>';
table += '</tr>';
table += '<tr >';
table += '<td align="center" ><img id="post_close" src="images/close1.png" onclick="closePop()" style="visibility:hidden;"></td>';
table += '</tr>';
table += '</table>';
document.getElementById('post').innerHTML = table;
}
時間設置爲3000毫秒。 我的問題是,我想張貼()函數來顯示屏幕上的表格(它的一種「加載」屏幕),然後暫停腳本。 實際上,由於腳本第一次暫停的原因,只有當它完成後,纔會顯示加載屏幕...怎麼回事?
這不是一個停頓,只需用'setTimeout' – Esailija 2012-03-08 09:42:28
但setTimeout的不會停止我的腳本..我想我的劇本完全停止和等待的時間我已設置 – 2012-03-08 09:44:08
這不會停止您的腳本 - 您的腳本無計時沒有理由計算3秒的日期。由於此腳本正在使用該頁面可用的所有資源,因此不會發生任何事情 - 所有內容都將凍結。 – Esailija 2012-03-08 09:49:11