0
當單擊某個類別時,Nettus +將此nice jQuery code過濾掉並顯示<ul>
中的具體<li>
。例如,點擊'設計'鏈接時,僅顯示'設計'<li>
s,並且隱藏投資組合<li>
的其餘部分。但是,當我將它與諸如Yoxview(圖像查看器jQuery插件)之類的燈箱結合使用時,燈箱會顯示來自整個投資組合的<li>
,而不僅僅顯示被點擊並過濾掉的特定類別。無法獲取Lightbox以忽略jQuery動態列表中的隱藏元素
如何獲取燈箱以僅顯示當前顯示在頁面上的<li>
s,並忽略隱藏的<li>
s?感謝您的幫助。
$(document).ready(function() {
$('ul#filter a').click(function() {
$(this).css('outline','none');
$('ul#filter .current').removeClass('current');
$(this).parent().addClass('current');
var filterVal = $(this).text().toLowerCase().replace(' ','-');
if(filterVal == 'all') {
$('ul#portfolio li.hidden').fadeIn('slow').removeClass('hidden');
} else {
$('ul#portfolio li').each(function() {
if(!$(this).hasClass(filterVal)) {
$(this).fadeOut('normal').addClass('hidden');
} else {
$(this).fadeIn('slow').removeClass('hidden');
}
});
}
return false;
});
});
<ul id="filter">
<li class="current"><a href="#">All</a></li>
<li><a href="#">Design</a></li>
<li><a href="#">Development</a></li>
<li><a href="#">CMS</a></li>
<li><a href="#">Integration</a></li>
</ul>
<ul id="portfolio">
<li class="cms integration">
<a href="#"><img src="images/a-list-apart.png" />A List Apart</a>
</li>
<li class="integration design">
<a href="#"><img src="images/apple.png" />Apple</a>
</li>
<li class="design development">
<a href="#"><img src="images/cnn.png" />CNN</a>
</li>
<li class="cms">
<a href="#"><img src="images/digg.png" />Digg</a>
</li>
<li class="design cms integration">
<a href="#"><img src="images/espn.png" />ESPN</a>
</li>
</ul>
感謝您的回答。使用:visible濾鏡選擇器可以工作,但是當lightbox彈出時,它會一次顯示每個li(用戶必須單擊並關閉每個li),而不是將它們組合在一起,以便它們可以像幻燈片一樣顯示。燈箱需要被告知#ul_id,以便它們可以將它們組合在一起。所以使用#ul_id li:visible使得每個li都是它自己的組。我不明白爲什麼燈箱不會忽略ul中動態隱藏的元素。 – BobbyJackDougan 2010-11-15 03:30:44