2011-01-07 62 views
0

用我的'添加一个框'按钮,添加一个框。 追加!您可以在框中添加一些元素(.togglecontainer)以确切地为 随着show more/show les按钮,我希望整个togglecontainer位于该按钮下方,以切换隐藏和显示。JQuery;切换隐藏显示效果全部!如何预防?

我明白为什么所有具有该类名的容器都开始切换,但我只希望切换其切换按钮下的容器。

我试过这段代码,但没有正常工作;

$('.togglebtn').toggle(function() { 
    $('.togglecontainer').hide();  
    $(this).html('Show less'); 
}, function() { 
    $('.togglecontainer').show(); 
    $(this).html('Show more'); 
}); 

任何人都可以解释我并帮助我如何使这项工作? 在此先感谢!

这是我的代码; http://jsfiddle.net/2LTd9/

+1

等一下,切换不接受两个回调。请参阅[文档](http://api.jquery.com/toggle/)。 – 2011-01-07 19:45:41

+0

@Marcus Whybrow谢谢 – Opoe 2011-01-07 20:23:53

回答

1

您需要一个范围选择器。 试试这个:

$('.togglebtn').toggle(function() {    
$('.togglecontainer', this).hide();      
var txt = $(this).html(); 
$(this).html((txt=='Show less')?'Show more':'Show less');  
}); 

编辑:更新的代码,每个操作的输入@的jsfiddle。

更新了代码并张贴了@http://jsfiddle.net/Chandu/PtwWD/2/ 检查它并让我知道这是不是你想要的。

+0

谢谢Cyber​​nate,它似乎没有切换可见性,但它确实在html之间切换显示较少/显示更多 – Opoe 2011-01-07 19:49:48

1

toggle()不接受两个回调函数。

请阅读jQuery docs以获取有关如何使用切换的更多信息。