当用户刷新页面时,将调用defaultView()
,这会加载一些UI元素。 $.address.change()
应该在defaultView()
完成时执行,但这不会一直发生。 $.address.change()
不能在success:
回调中,因为它被应用程序用于跟踪URL更改。等待函数在执行完之前完成
defaultView();
function defaultView() {
$('#tout').fadeOut('normal', function() {
$.ajax({
url: "functions.php",
type: "GET",
data: "defaultview=true",
async: false,
success: function (response) {
$('#tout').html(response).fadeIn('normal');
}
});
});
}
$.address.change(function(hash) {
hash = hash.value;
getPage(hash);
});
我手足无措,如何使$.address.change()
等待defaultView()
完成。任何帮助,将不胜感激。
上发布了类似问题的答案您不能这样做。这里有两个异步事件:#tout的fadeOut和AJAX请求。同步AJAX请求是我能想到的最不可取的一段Javascript代码。这样做的唯一方法是将'$ .address.change()'放入AJAX请求的成功回调中,因此需要另一种方法。 – Matt 2010-04-25 22:11:48
'异步:错误,'有错误 - 我试着如何影响脚本。没有任何区别,我删除了它。 – Wurlitzer 2010-04-25 22:19:13