我将这个javscript函数用于显示页面导航
<script>
function parseNum(number, val){
number = parseInt(number);
number = number + val;
return (number < 10 ? '0' : '') + number;
}
function next()
{
if(parseInt(document.getElementById("in-page").innerHTML) < parseInt(document.getElementById("t-page").innerHTML))
{
var iid=document.getElementById("in-page").innerHTML;
var id=document.getElementById("in-page").innerHTML;
var realid=document.getElementById("r-page").innerHTML;
document.getElementById("in-page").innerHTML=parseNum(id, 1);
if(parseInt(document.getElementById("flag").innerHTML)=='0')
{
document.getElementById("r-page").innerHTML=parseNum(realid, 1);
}
else if(document.getElementById("flag").innerHTML=='1')
{
document.getElementById("r-page").innerHTML=parseNum(realid, 1);
document.getElementById("flag").innerHTML='0';
}
}
}
</script>
<span id="flag" style="display:none">0</span><span id="prev" onclick=prev();>
<<
</span><span id="r-page" style="display:none" >0</span> | <span id="next" style=cursor:pointer; onclick=next();>
>>
</span><br/><br/><span id="in-page">01</span><span >of</span><span id="t-page">12</span>
点击下一步工作时好。但是当数字是08并且点击下一页内跳转到01而没有09。对于所有测试这个结果相同。这个错误只发生在firfox和safari以及chrome中,即工作正常。
答案 0 :(得分:3)
更改
number = parseInt(number);
到
number = parseInt(number, 10);
因为在Firefox上(在其他浏览器的旧版本中,以"0"
开头的数字被解析为八进制,并且解析在第一个超出范围的字符处停止,这只允许"0"
时您正在解析"08"
或"09"
。
答案 1 :(得分:1)