我有 500 个li
,但一开始我只想显示 5 个,然后我可以单击一个按钮,它会显示更多li
的,也许最后没有更多li
的,但不是所有的都只是另外 5 个?
问问题
1145 次
2 回答
5
var $li = $("li"),
chunk = 5;
$li.slice(chunk).hide();
$("button").click(function() {
$li.filter(":hidden").slice(0, chunk).show();
});
有更有效的方法来编写这段代码,但是这个是相当易读的。
于 2012-06-26T11:27:57.390 回答
2
您可以在您的后面动态添加一个“更多”按钮,ul
并一次显示 5 li,直到全部显示。然后你可以隐藏更多按钮:
var vis = 5;
$('li').slice(vis).hide();
var $more = $('<a href="#">test</a>')
$more.click(function(){
$('li:hidden').slice(0,vis).show();
if($('li:hidden').length == 0)
$more.hide();
});
$('ul').after($more);
现场示例:http: //jsfiddle.net/JKWtP/
于 2012-06-26T11:34:51.083 回答