.load在没有警报之前无法正常工作

时间:2014-02-23 07:24:49

标签: javascript jquery load

我有这段代码但不起作用

的index.html

<html>
<body>
 <section>

 </section>
</body>
</html>

welcome.html

<div>Welcome, please login</div>
<div id='login'> </div>

file.js

$('section').load('welcome.html');                          
$('#login').load('login.html');

但如果我发出这样的提醒,然后关闭它可以正常工作的提醒

$('section').load('welcome.html');

alert("!!");                        
$('#login').load('login.html');

我该怎么办?我不想要那个警报,谢谢你的时间

2 个答案:

答案 0 :(得分:3)

由于$ .load()函数是异步的,你需要等待回调来执行下一次load();

$('section').load('welcome.html', funcion() {
    $('#login').load('login.html');
});

答案 1 :(得分:2)

您看到的问题是由于jQuery.load()异步工作。

因此,当您将alert()置于两次通话之间时,您有机会完成第一次通话,然后第二次通话有效。如果没有alert(),则在调用第二个load()时,第一个load()尚未完成。

使用回调函数修复:

$('section').load('welcome.html', function() {
    $('#login').load('login.html');
});