2013-12-16 59 views
1

我有幾個動態創建的列表項,下面是幾篇文章。當你點擊一個列表項時,相應的文章就會淡出。這很好,但是,我想要的是,當你點擊不同的列表項目時,先前淡出的項目會回來,並且相應的項目會再次淡出(實質上我正在創建結果過濾器)。 jQuery的jQuery FadeOut當點擊div然後淡入時點擊另一個div

$(document).ready(function(){ 

$('.filter_categories li').click(function(){ 
    var liClass = $(this).html().toLowerCase().trim(); 
    liClass = liClass.replace(/ /g,'-');; 
    $('.category-'+liClass).stop().fadeToggle(); 
}); 
}); 

在下面的例子中,當你點擊貓1 - 貓1格淡出,但我希望它是,當我點擊CAT-2,貓1格回來,貓-2格淡出。

和鏈接到的jsfiddle: http://jsfiddle.net/Nehe4/2/

+0

[您的問題張貼在幾分鐘前(http://stackoverflow.com/questions/20622907/jquery-check-if-text-in-list-item-corresponds-to-類的-A-DIV/20623171#20623171)。你應該在那裏添加。不是說我的解決方案以這種方式工作。如果你對更高級的過濾器感興趣,你可以使用[鏈接](http://isotope.metafizzy.co/) –

+0

我的建議是在這種情況下使用'.stop(true,true)'來避免彈跳動畫,使用'fadeIn'和'fadeOut'而不是'fadeToggle'。從一個花費了一些時間調試難看的行爲的人那裏得到一個好消息:)。 – avall

回答

1

你可以只在寄託都衰落開始的處理程序。

$("[class*=category]").fadeIn(); 

(Fiddle)

+0

是的,儘管它改變了fadeToggle,所以它沒有打破以後的切換 –