Javascript分页代码中的逻辑有问题吗
这是基本代码。用户单击一个链接,该链接将触发Javascript分页代码中的逻辑有问题吗,javascript,pagination,Javascript,Pagination,这是基本代码。用户单击一个链接,该链接将触发loadMore()。此函数从偏移量开始下拉JSON数据 此偏移量将根据其当前“页面”进行更改。第一页的偏移量为0。第二页是10页。第三页20等 当它们来回导航时,该偏移应该相应地改变。问题是,事实并非如此。我不明白为什么 有什么想法吗?这是因为ajax调用需要时间来执行 尝试: 这将在ajax调用中使用正确的值,并在ajax调用返回之前更改下一次调用的偏移量。如果同时调整了偏移量,您可能希望添加忽略ajax调用返回值的逻辑 这是因为ajax调用需要时
loadMore()
。此函数从偏移量开始下拉JSON数据
此偏移量将根据其当前“页面”进行更改。第一页的偏移量为0。第二页是10页。第三页20等
当它们来回导航时,该偏移应该相应地改变。问题是,事实并非如此。我不明白为什么
有什么想法吗?这是因为ajax调用需要时间来执行
尝试:
这将在ajax调用中使用正确的值,并在ajax调用返回之前更改下一次调用的偏移量。如果同时调整了偏移量,您可能希望添加忽略ajax调用返回值的逻辑 这是因为ajax调用需要时间来执行
尝试:
这将在ajax调用中使用正确的值,并在ajax调用返回之前更改下一次调用的偏移量。如果同时调整了偏移量,您可能希望添加忽略ajax调用返回值的逻辑 您正在使用new Browse()
并挂接实例的loadMore
方法,是吗?是的,所有调用都正确。您正在使用new Browse()
并挂接实例的loadMore
方法,是吗?是的,所有调用都正确。
function Browse()
{
this.offset = 10;
}
/*
* @direction is either 'next' or 'prev'
*/
Browse.prototype.loadMore = function(direction)
{
var _this = this;
$.getJSON('/path/to/api?offset=' + this.offset, function(json)
{
_this.offset = (direction == 'next') ? _this.offset + 10 : _this.offset - 10;
if (_this.offset > 10)
previousButton.show();
else
previousButton.hide();
});
}
//...
var _this = this;
$.getJSON('/path/to/api?offset=' + this.offset, function(json) {
//...
});
_this.offset = (direction == 'next') ? _this.offset + 10 : _this.offset - 10;
//...