0

私は小さなjqueryコンテンツフィルターを書きました: jsfiddle

たとえば、「gfx」と「coding」を切り替えると、赤い親divにこの醜い高さの再設定効果が得られます。私の目標は、同じ場所で小さなdivをフェードアウトすることです。サイズ変更なし、固定高さなし。(アイテム数は後で異なる場合があります)

これを達成するためのヒントはありますか?

var filter = $(this).attr('data-filter');
$('#filter_container .filteritem:not(' + filter + ')').fadeOut('slow', function () {
    $('#filter_container ' + filter + '').fadeIn('fast');
});

詳細と動作例については、jsfiddleを参照してください。

4

1 に答える 1

0

http://jsfiddle.net/k6BPs/8/

明らかに、fadeOut()コールバックは要素ごとに呼び出されます。ここを参照してください。そうすれば、すぐにトリガーされ、fadeOut()の後に素晴らしいfadeIn()効果が妨げられます。

.promise()ただし、 and.done(function(){})メソッドを使用することでこの問題を克服できます。

于 2013-03-07T22:47:48.273 に答える