remove()后回调以避免同时发生效果

时间:2012-06-14 10:52:09

标签: jquery callback

如何将这两个语句串在一起,以便在项目淡出时不会发生加载器的fadeIn。 删除后回调?

$(pager).css('margin-top', '180px');
content.find('div.item').fadeTo(500, 0.2, function () {
    content.find('div.item').remove();
})
$("#content-lader").fadeIn(1000, function () {
    content.html('<div id="content-lader">&nbsp;</div>' + data.content);
    $(pager).css('margin-top', '0px');
});
谢谢,理查德

2 个答案:

答案 0 :(得分:1)

尝试:

var c = 0;
var totItem = content.find('div.item').length;

content.find('div.item').fadeTo(500, 0.2, function () {
    $(this).remove();
    c++;
    if(c == totItem){
        $("#content-lader").fadeIn(1000, function () {
           content.html('<div id="content-lader">&nbsp;</div>' + data.content);
           $(pager).css('margin-top', '0px');
        });
    }
})

答案 1 :(得分:0)

我没有看到为mgraph的答案使用if和a var的原因。我相信从fadeOut的回调中调用你的fadeIn方法应该也可以正常工作。

AKA:

content.find('div.item').fadeTo(500, 0.2, function () {
    $(this).remove();

    $("#content-lader").fadeIn(1000, function () {
           content.html('<div id="content-lader">&nbsp;</div>' + data.content);
           $(pager).css('margin-top', '0px');
    });

})

jsFiddle:http://jsfiddle.net/w45p/mZWUW/