下面的 jQuery 代码调用ul
元素,找到元素中的前三个 li
列表项并隐藏其余li
项。然后,它会附加一个显示“显示更多...”li
的元素, 并在单击时显示先前隐藏的列表项。
(问题底部的jsFiddle)
$('ul')
.find('li:gt(2)')
.hide()
.end()
.append(
$('<li>Show more...</li>').click( function(){
$(this).siblings(':hidden').fadeIn(500);
})
);
很简单。现在,除了在用户单击“显示更多...”时显示隐藏的列表项之外,我还需要它来隐藏最初可见的前三个列表项。通过插图:
代码当前生成的内容:
- List Item #1
- List Item #2
- List Item #3
- Show more...
(点击)
- List Item #1
- List Item #2
- List Item #3
- List Item #4
- List Item #5
- Show more...
需要发生的事情:
- List Item #1
- List Item #2
- List Item #3
- Show more...
(点击)
- List Item #4
- List Item #5
- Show more...
出于可用性目的,如果再次单击“显示更多...”时,前三个列表项再次可见并且其余列表元素被隐藏,我也会很好。
jsFiddle:http: //jsfiddle.net/g9L9R/