javascript和ajax加载,然后效果

时间:2009-08-27 19:58:33

标签: javascript jquery ajax effects

我有一个javascript代码,我试图从一个单独的页面加载一个列表(使用jQuery的load()函数),滑出当前列表并滑入新列表。

现在,我不想在新列表完全加载之前滑动旧列表。任何人都可以告诉我如何实现这一点,而不会看起来脚本在执行时有第二个想法..

谢谢。

修改

$('.cont a').click(function() {
    var page = $(this).attr('href');
    $('.p-list').prepend('<div class="loader">&nbsp;</div>');
    $('.p-list').load(page +" .proj").hide().fadeIn();
    return false;
});

很抱歉没有把代码放入。但是,我真的不知道这有多少帮助......

2 个答案:

答案 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效果后加载页面时,它对我来说效果更好。