2017-01-13 91 views
0

我有一個重複圖像塊,每個塊都帶有一個標題。我正在使用slideToggle在單擊圖像時顯示和隱藏每個圖像的標題。限制jQuery slideToggle處理多個元素

$('.imageholder').click(function() { 
$(this).next().slideToggle("fast"); 

}); 

顯示我的方法的工作小提琴是here

這是因爲它應該,但我想防止多個字幕同時可見。當用戶點擊圖片時,任何打開的標題都應該關閉。在我的例子中,你會看到有可能打開所有的標題。這是我想要防止的。

希望在正確的方向微調。謝謝。

回答

0

只要做這樣的事情?

$('.imageholder').click(function() { 
    $('.description').slideUp(); 
    $(this).next().slideToggle("fast"); 
}); 
0

你應該嘗試隱藏其他可見的元素:

$('.imageholder').click(function() { 
    $('.description:visible').not($(this).next()).slideToggle("fast"); 
    $(this).next().slideToggle("fast"); 
}); 
0

slideUp()不在當前的所有描述,然後slideToggle()當前之一。

$('.imageholder').click(function() { 
    var $desc = $(this).next(); 
    $('.description').not($desc).slideUp('fast'); 
    $(this).next().slideToggle("fast"); 
});