jquery .each() 循环继续加载更多按钮?
jquery .each() loop continue on load more button?
我已经为我的数组制作了每个循环 jQuery,但我想在第一次启动时加载 6 个项目,然后当我单击“加载更多”按钮时,它将显示 7 到 13,依此类推。
我最初使用 .slice() 完成了 6 个限制,但总是无法加载更多按钮,有人可以帮忙吗?
我的代码:
function loadName(){
$.getJSON('/namedatabase.php', function(data) {
$.each($(data).slice(0, 6),function(i,item){
$(".nameData").append('<div>'+item.name+'</div>');
});
});
}
加载更多按钮
<button class="btn btn-primary" onclick="loadName();">Load more</button>
实现服务器端分页会更好
但是如果你想在客户端预加载所有数据,那么试试
function loadName() {
var $el = $(".nameData"),
names = $el.data('names'),
start = $el.data('loadstart');
if (names) {
$.getJSON('/namedatabase.php', function (data) {
$.each(data.slice(0, 6), function (i, item) {
$el.append('<div>' + item.name + '</div>');
});
$el.data({
names: data,
start: 6
});
});
} else {
if (data.length < start) {
$.each(data.slice(start, start + 6), function (i, item) {
$el.append('<div>' + item.name + '</div>');
});
$el.data('loadstart', start + 6)
}
}
}
这是一个有效的 fiddle。
我已经为我的数组制作了每个循环 jQuery,但我想在第一次启动时加载 6 个项目,然后当我单击“加载更多”按钮时,它将显示 7 到 13,依此类推。 我最初使用 .slice() 完成了 6 个限制,但总是无法加载更多按钮,有人可以帮忙吗?
我的代码:
function loadName(){
$.getJSON('/namedatabase.php', function(data) {
$.each($(data).slice(0, 6),function(i,item){
$(".nameData").append('<div>'+item.name+'</div>');
});
});
}
加载更多按钮
<button class="btn btn-primary" onclick="loadName();">Load more</button>
实现服务器端分页会更好
但是如果你想在客户端预加载所有数据,那么试试
function loadName() {
var $el = $(".nameData"),
names = $el.data('names'),
start = $el.data('loadstart');
if (names) {
$.getJSON('/namedatabase.php', function (data) {
$.each(data.slice(0, 6), function (i, item) {
$el.append('<div>' + item.name + '</div>');
});
$el.data({
names: data,
start: 6
});
});
} else {
if (data.length < start) {
$.each(data.slice(start, start + 6), function (i, item) {
$el.append('<div>' + item.name + '</div>');
});
$el.data('loadstart', start + 6)
}
}
}
这是一个有效的 fiddle。