这是 html:
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr align="center" valign="middle">
<td width="10" class="pagestyle" onClick="pageNo(-1);" align="right">«</td>
<td id="pageNum" class="pagestyle">1/5</td>
<td width="10" class="pagestyle" onClick="pageNo(+1);" align="left">»</td>
</tr>
</table>
这是相应的 javascript:
var page = 0;
function pageNo(off) {
if (((page + off) > -1) && ((page + off) < 6)) {
page = page + off;
parseRSS(page);
} else if ((page + off) === 6) {
page = 0;
parseRSS(page);
} else if ((page + off) === -1) {
page = 5;
parseRSS(page);
}
}
这应该做的是从第 1 页开始,它确实这样做了,并根据单击的链接向上或向下计数。但是,当我们到达第 5 页时,我必须单击两次才能返回第 1 页。是什么导致了双击行为?
最佳答案
总页数是多少? 您是从一到六还是从零到五列举它们?
相应地更改你的js函数并简化js表达式(提到你有从零到五个的页面):
var page = 0;
var number_of_pages = 6;
function pageNo(off) {
page = (page + off + number_of_pages) % number_of_pages;
}
关于Javascript 函数调用的行为不符合我的预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/954360/