我有一个无序列表,如果超过3,我会隐藏任何其他列表项。之后,我调用一个JQuery函数,在底部放入一个“显示更多”链接,并切换要显示的任何其他列表项。
但是,我有点卡住了,我想将显示链接转换为“隐藏”,一旦显示所有列表项并点击它然后隐藏其他列表项,然后链接更改回“显示更多...“再说一次。
这是我到目前为止的代码,它可以扩展并显示其他列表项。
$('ul li:gt('+index+')').hide();
$('ul').append('<li class="more"><a href="#">Show more...</a></li>');
$('ul li.more a').click(function() {
$('ul li.more a').remove();
$('ul li:gt('+index+')').show();
});
注意我并没有停留在这段代码上,如果有更好的方法来实现整个show / hide代码,那很好。
我用我迄今为止的代码写了fiddle。
答案 0 :(得分:3)
你去先生:) 固定并运行良好!
答案 1 :(得分:3)
这里jquery toggle()
函数派上用场 - 你可以附加到每隔一次点击元素时调用的事件处理程序。使用text()
更改链接的文本(如果您不计划回退,则不应该是链接 - 请改用跨度)
更新了fiddle。