方案
页面上的多个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。
答案 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;
});
答案 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;
});