我有一个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;
});
很抱歉没有把代码放入。但是,我真的不知道这有多少帮助......
答案 0 :(得分:5)
这应该这样做:
$("#someDiv").slideUp("slow").load('blah.html', function() {
$(this).slideDown("slow");
});
如果在load的回调(或任何其他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;
});
答案 1 :(得分:1)
你也可以试试这个:
$("#someDiv")
.slideUp("slow", function(){
$(this).load('blah.html', function() {
$(this).slideDown("slow");
}
);
});
当我完成slideUp效果后加载页面时,它对我来说效果更好。