我有一个 javascript 代码,我试图从一个单独的页面加载一个列表(使用 jQuery 的 load() 函数),将当前列表滑出并滑入新列表。
现在,在新列表完全加载之前,我不希望旧列表滑动。谁能告诉我如何在不让脚本在执行时重新考虑的情况下实现这一点..
谢谢。
编辑
$('.cont a').click(function() {
var page = $(this).attr('href');
$('.p-list').prepend('<div class="loader"> </div>');
$('.p-list').load(page +" .proj").hide().fadeIn();
return false;
});
很抱歉没有把代码放进去。但是,我真的不知道这有多大帮助......
最佳答案
应该这样做:
$("#someDiv").slideUp("slow").load('blah.html', function() {
$(this).slideDown("slow");
});
如果您在加载的回调(或任何其他 ajax 方法)中调用 slideDown
方法,这将确保动画在元素填充响应后发生。
编辑:将其应用于您的代码:
$('.cont a').click(function() {
var page = $(this).attr('href');
$('.p-list').prepend('<div class="loader"> </div>');
$('.p-list').slideUp("slow").load(page +" .proj", function() {
$(this).fadeIn("slow"); //or show or slideDown
});
return false;
});
关于javascript 和 ajax 加载,然后效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1343455/