1

アイテムがフェードアウトしたときにローダーのフェードインが発生しないように、これら 2 つのステートメントをつなぎ合わせるにはどうすればよいですか。削除後のコールバック?

$(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');
});

ありがとう、リチャード

4

2 に答える 2

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');
        });
    }
})
于 2012-06-14T10:57:19.607 に答える
0

mgraph の回答に if と var を使用する理由がわかりません。私は、fadeOutのコールバック内からfadeInメソッドを呼び出すこともうまくいくはずだと信じています。

別名:

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/

于 2013-10-10T21:05:07.443 に答える