2013-03-07 21 views
0

我寫了一個小的jQuery的內容過濾器: jsfiddlejQuery的內容過濾器漸變效果

如果我在「gfx」和「coding」之間切換,例如我在紅色父div上得到了這種難看的高度重新調整效果。 我的目標是在同一個地方淡出小divs。沒有任何調整大小和沒有使用固定的高度。 (項目數可以稍後)

任何提示我怎麼能實現這個?

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

有關詳細信息和工作示例請參閱jsfiddle。

回答

0

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

的淡出()回調顯然要求每個元素。 See here。這樣它將立即被觸發,防止fadeOut()之後出現一個很好的fadeIn()效果。

雖然您可以通過使用.promise().done(function(){})方法來解決此問題。