2011-03-20 85 views
0
<head> 
<script type="text/javascript"> 
$(document).ready(function(){ 
$(".open_list").hide(); 
$(".trigger").click(function(){ 
    $(this).toggleClass("active").next().slideToggle("800"); 
    }); 
}); 
</script> 

我正在做一个带有一些hide div的列表,我做了这个jquery函数来做到这一点。 问题是,这个函数使得当你点击触发链接时,它会向你显示open_list后面的div。我该如何改变这个jquery函数(toggle)

我正在寻找另一个功能,允许我做同样的事情,但激活了后面的.open_list但确定的类的div。

所以它会忽略跟在open_list上的那些没有这个class的div。

我一直在做这一切,我找不到正确的方式来做到这一点。任何人都知道吗?

所以我把剧本:

<script type="text/javascript"> 
$(document).ready(function(){ 
$(".open_list").hide(); 
$(".trigger").click(function(){ 
    $(this).toggleClass("active").nextAll('.campaigns_list').slideToggle("800"); 
}); 

});

但还是不行。当div打开时,我需要h1不动。

回答

1

您可以使用nextAll()通过你的选择过滤,然后抓住该列表的first()元素:

$(".trigger").click(function(){ 
    $(this).toggleClass("active").nextAll('.yourClass').first().slideToggle("800"); 
}); 

你可能会碰到的问题是,如果你做next('.yourClass')没有元素会如果很返回下一个同级不是一个与.youClass

+0

http://jsfiddle.net/PH537/1/它不工作我认为 – gabriela 2011-03-21 02:40:46

+0

'.open_list'是'.trigger'的兄弟,而不是'.yourClass'。这里有一个工作小提琴:http://jsfiddle.net/PH537/2/ – mVChr 2011-03-21 03:00:09

+0

jsfiddle.net/PH537/6 – gabriela 2011-03-21 19:19:39

1

大多数的jQuery遍历方法(nextparent等)采取一个可选选择参数:

$(this).nextAll('.someclass').first().slideToggle(800); 

此代码将选择类别为someclass的元素的同胞并执行slideToggle动画。

+0

我认为next()函数可以只选择附近的兄弟姐妹 - 参数只是过滤器。你必须使用nextAll()函数来获得所有模拟 – grongor 2011-03-20 23:24:08

+0

啊,这是正确的,我会更新代码。 – 2011-03-20 23:26:02

1

它真的很简单 - 只是不下一使用(),但nextAll()

<script type="text/javascript"> 
    $(document).ready(function(){ 
    $(".open_list").hide(); 
    $(".trigger").click(function(){ 
     $(this).toggleClass("active").nextAll('.yourClass').slideToggle("800"); 
    }); 
    }); 
</script> 

如果你想选择一个元素,追加 “.EQ(0)” 后.nextAll()功能。

希望我帮了你。最好的问候,Jakub。

+0

好吧......你知道这不是在工作。但感谢您的帮助,我会更新w劳,所以我可以更好地解释自己 – gabriela 2011-03-21 00:25:45

+0

老兄,它完美的作品;)如果你认为它不,那么请详细解释:) – grongor 2011-03-21 06:13:18

+0

我认为你没有解释它正确。这个代码怎么样? http://jsfiddle.net/PH537/5/如果它不是你想要的,那么请指定你想要的。谢谢 – grongor 2011-03-21 06:20:32