切换打开关闭目标列表

时间:2013-07-19 12:56:29

标签: jquery slidetoggle

方案

页面上的多个UL列表,每个列表: 1:我想要一个开/关链接 2:我想显示每个列表的不同数量

到目前为止我可以做(2)但是当我尝试做(1)我的打开/关闭打开页面上的所有内容

小提琴在这里设置:http://jsfiddle.net/topiman/WD9nf/2/

$('.show-more a').click(function() {
    $('.toggle-list').find('.toggle-items').slideToggle('fast');
    return false;
});

理想情况下:

a:打开时链接可能会变为“关闭”

b:每个链接仅打开相关的UL

c:幻灯片可以更顺畅

我已经在其他线程中看到过这种情况,但通常标记和触发器位于我需要它们的不同位置

提前致谢

.ben。

2 个答案:

答案 0 :(得分:2)

使用this的实例查找正确的列表,就像更改文本一样,只需检查切换回调即可:

$('.show-more a').click(function() {
    var that = $(this);
    $(this).parent().prev(".toggle-list").slideToggle(function() {
        $(this).is(":visible") ? that.text("Close") : that.text("Open");
    });
    return false;
});

演示:http://jsfiddle.net/WD9nf/10/

答案 1 :(得分:1)

您应首先找到closest block-content然后find toggle-items

 $('.show-more a').click(function() {
     $(this).closest('.block-content').find('.toggle-list .toggle-items')
            .slideToggle('fast');
     return false;
 });

Fiddle