有人可以在这个片段上点亮一些。jQuery FadeOut()不起作用。点击只是跳跃而不是
我正在尝试将jQuery Masonry Plugin与过滤功能集成在一起。出于某种原因,函数的FadeIn部分适用于所有级别,但fadeOut()不适用。
下面是代码:
$j('#filter a').click(function(){
var colorClass = '.' + $j(this).attr('class');
//if($j('.portfolio').hasClass(colorClass){
if(colorClass=='.box') {
// show all hidden boxes
$j('.portfolio').children('.invis')
.toggleClass('invis').fadeIn('slow');
} else {
// hide visible boxes
$j('.portfolio').children().not(colorClass).not('.invis')
.toggleClass('invis').fadeOut('slow','linear');
// show hidden boxes
$j('.portfolio').children(colorClass+'.invis')
.toggleClass('invis').fadeIn('slow', 'linear');
}
}
我仍然在我的js和jQuery的技能提高,但对如何测试输出或解决这一问题的任何帮助,将不胜感激。
下面是过滤
<div id="filter">
<ul>
<?php
$taxonomy = 'portfolio-box-sets';
$terms = get_terms($taxonomy, 'hierarchical=0');
echo '<li><a class=".fbox">All</a></li>';
if ($terms) {
foreach($terms as $term) {
echo '<li><a class="'.$term->name.'">' . $term->name . '</a></li>';
}
}
?>
</ul></div>
我也试着指定宽度的包装元素,但它并没有帮助的HTML。
看来,当工作点击功能仍然在else语句中,但是随时显示所有框,然后隐藏未选中的框不起作用。希望有所帮助。 – 2011-05-03 22:34:09
我想你应该发布一些部分的HTML代码。你为什么需要一个'invis'类?你不能检查隐藏状态吗? – morgar 2011-05-03 23:12:05
我添加了链接到点击功能的HTML。希望有所帮助。 – 2011-05-03 23:52:55