Can';不要让lightbox忽略jQuery动态列表上的隐藏元素
Nettus+可以在单击类别时从Can';不要让lightbox忽略jQuery动态列表上的隐藏元素,jquery,lightbox,Jquery,Lightbox,Nettus+可以在单击类别时从中过滤并显示特定的。例如,当单击“设计”链接时,仅显示“设计”,而隐藏公文包的其余部分。但是,当我将它与像Yoxview(image viewer jQuery插件)这样的lightbox组合时,lightbox会显示整个公文包中的,而不仅仅是显示单击并过滤掉的特定类别 如何使lightbox仅显示页面上当前显示的而忽略隐藏的呢?谢谢您的帮助 $(document).ready(function() { $('ul#filter a').click
中过滤并显示特定的
。例如,当单击“设计”链接时,仅显示“设计”,而隐藏公文包的其余部分。但是,当我将它与像Yoxview(image viewer jQuery插件)这样的lightbox组合时,lightbox会显示整个公文包中的
,而不仅仅是显示单击并过滤掉的特定类别
如何使lightbox仅显示页面上当前显示的而忽略隐藏的呢?
谢谢您的帮助
$(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>
$(文档).ready(函数(){
$('ul#filter a')。单击(函数(){
$(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');
}否则{
$('ul#portfolio li')。每个(函数(){
if(!$(this).hasClass(filterVal)){
$(this).fadeOut('normal').addClass('hidden');
}否则{
$(this.fadeIn('slow').removeClass('hidden');
}
});
}
返回false;
});
});
-
-
-
-
-
我怎样才能让灯箱显示
仅当前正在运行的
s
显示在页面上,忽略
隐藏的
s
您可以使用仅影响可见图元的过滤器选择器,例如:
$('#ul_id li:visible')
上述选择器仅适用于id为
ul_id
且可见的父元素内的lis。谢谢您的回答。使用:visible过滤器选择器可以工作,但当lightbox弹出时,它会一次显示一个li(用户必须单击并关闭每个li),而不是将它们组合在一起,以便它们可以像幻灯片一样显示。灯箱需要被告知#ul#u id,以便将它们组合在一起。因此,使用#ul#id li:visible可以使每个li成为自己的组。我不明白为什么lightbox没有忽略ul中动态隐藏的元素。