我的寻呼机工作除了你点击的最后一页。因此,如果我的最后一页是11,那么点击后,寻呼机会在倒退时停止工作。如果单击某个页面然后单击另一个页面,则除最后一页外,其工作正常。它在jsFiddle上(已更新并正在使用
)使用Javascript:
$(document).ready(function () {
var pageIndex = 1;
function pagerControl(pageIndex, pageCount, step) {
var result = "";
if (pageCount > 1) {
var startPoint = Math.floor((pageIndex / step)) * step;
if ((pageIndex % step) == 0) {
startPoint -= step;
}
if (pageIndex < pageCount) {
result += '<a href="#" rel="' + (pageIndex + 1) + '">Next</a>';
}
else {
result += '<span>Next<span>';
}
//alert(startPoint);
for (var i = startPoint + 1; i <= pageCount && i <= (startPoint + step + 1); i++) {
if (i != pageIndex) {
result += '<a href="#" rel="' + i + '">' + i + '</a>';
}
else {
result += '<span>' + i + '</span>';
}
}
if (pageIndex > 1) {
result += '<a href="#" rel="' + (pageIndex - 1) + '">Prev</a>';
} else {
result += '<span>Prev</span>';
}
}
$('#pager').html(result);
$('#pager > a').click(function (e) {
reload($(e.target).attr('rel'));
e.preventDefault();
});
}
function reload(page) {
pagerControl(page, 11, 4);
}
pagerControl(1, 11, 4);
});
答案 0 :(得分:2)
使用链接而非现有' $('#pager a').click '
绑定点击事件时,请尝试此' $('#pager > a').click '
。
它正在我这边工作。我知道这不是一个详尽的答案,而是一个快速的纠正。
.. :))
答案 1 :(得分:1)
有时我们会把事情弄得太复杂。在大多数情况下,废除“if”声明怎么样?
var pageIndex = 1;
function pagerControl(pageIndex, pageCount, step) {
var result = '';
if (pageCount > 1) {
pageIndex = (pageIndex > pageCount) ? pageCount : pageIndex;
var startPoint = Math.floor((pageIndex / step)) * step;
var endPoint = pageCount;
startPoint = (startPoint < 1) ? 1 : startPoint;
endPoint = ((startPoint + step) > pageCount) ? pageCount : (startPoint + step -1);
result = '<a href="#" rel="' + (startPoint-4) + '">PREV</a> ';
for (var i=startPoint;i<(endPoint+1);i++)
result += '<a href="#" rel="' + i + '">' + i + '</a>';
result += '<a href="#" rel="' + endPoint+4 + '"> NEXT</a>';
}
$('#pager').html(result);
$('#pager > a').click(function (e) {
reload(parseInt($(e.target).attr('rel')));
e.preventDefault();
});
}
function reload(page) {
pagerControl(page, 11, 4);
}
pagerControl(1, 11, 4);