【发布时间】:2013-07-19 01:38:20
【问题描述】:
我有一个无序列表:
<ul id="myList"></ul>
<div id="loadMore">Load more</div>
我希望用另一个 HTML 文件中的列表项填充此列表:
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
<li>Five</li>
<li>Six</li>
<li>Seven</li>
<li>Eight</li>
<li>Nine</li>
<li>Ten</li>
<li>Eleven</li>
<li>Twelve</li>
<li>Thirteen</li>
<li>Fourteen</li>
<li>Fifteen</li>
我想加载前 3 个列表项,然后在用户单击“加载更多”div 时显示接下来的 5 个项目:
$(document).ready(function () {
// Load the first 3 list items from another HTML file
//$('#myList').load('externalList.html li:lt(3)');
$('#myList li:lt(3)').show();
$('#loadMore').click(function () {
$('#myList li:lt(10)').show();
});
$('#showLess').click(function () {
$('#myList li').not(':lt(3)').hide();
});
});
我需要帮助,因为我希望“加载更多”显示接下来的 5 个列表项,但如果 HTML 文件中有更多列表项,则再次显示“加载更多”div 并允许用户显示接下来的 5 个项目,重复此操作直到显示整个列表。
我怎样才能最好地做到这一点?
我创建了以下 jsfiddle:http://jsfiddle.net/nFd7C/
【问题讨论】:
-
load() 将使用 $.get 加载整个文件,然后只在客户端进行过滤,因此您应该加载整个文件并自己进行过滤,而不是加载相同的内容超过
-
感谢 @adeneo 我刚刚进行了编辑,以显示接下来的 5 个列表项而不是加载。
标签: jquery load html-lists