Javascript 函数调用的行为不符合我的预期

标签 javascript

这是 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">&laquo;</td>
      <td id="pageNum" class="pagestyle">1/5</td>
      <td width="10" class="pagestyle" onClick="pageNo(+1);" align="left">&raquo;</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/

相关文章:

javascript - FullCalendar Jquery,选择当天内

javascript - 使用 v-html 和 <transition> 时无法读取 null 的属性 '_pending'

javascript - Ajax 响应 PHP 回显 HTML

javascript - 我如何获得提示的响应

javascript - Angular 动画: can't find query

javascript - 如何关闭 iframe?

javascript - 仅使用 JS 和 HTML 从弹出窗口中获取值(value)

javascript - PHP 检查日期是否在两个日期之间

javascript - 对于JavaScript中单个类的多个实例,一个函数是否为每个实例占用空间?

javascript - 将前四个列表项移动到列表末尾