如何在没有警报的情况下暂停Javascript代码

时间:2013-11-08 17:03:10

标签: javascript jquery html pageload

是否有任何功能与警报完全相同,除非没有显示警报框? (在给定时间内暂停所有执行JS代码的函数,但不会显示警报消息)。

setTimeout不起作用,因为它只停止setTimeout函数内的cod。

5 个答案:

答案 0 :(得分:0)

一段时间停止代码的javascript函数是setTimeout(), 有关如何使用此功能的更多信息,请访问以下链接:http://www.w3schools.com/jsref/met_win_settimeout.asp

答案 1 :(得分:0)

您可以将其拆分为两个函数,并让第一个启动超时。

function func1(){
 //do stuff
 setTimeout('func2',2000);
}
function func2(){
 //do some more
}

答案 2 :(得分:0)

函数setTimeout将在以后执行的任何函数中执行。因此,除非将代码拆分为部分并置于setTimeout的调用中,否则它不会真正暂停代码的执行。也许这是一种方法。 另一种方法可能是在jquery调用中使用delay函数(http://api.jquery.com/delay/)。 但在所有情况下,最好的方法是找出导致此行为的原因并在代码中修复它。

答案 3 :(得分:0)

您是否尝试过使用DOM元素而不是JQuery来创建新节点。 http://www.w3schools.com/jsref/met_node_appendchild.asp

答案 4 :(得分:0)

var startTime = new Date().getTime();
while(new Date().getTime() < startTime + 1000) {}

等待1000毫秒/ 1秒。 在此期间,您的浏览器完全没有响应,并且可能无法渲染您可能正在等待的任何内容,但是,嘿,...你去了;)