您的位置:首页 > Web前端 > JavaScript

javascript中除法问题

2011-08-23 00:00 176 查看
今天在写动态加载一个表格时,想规定生成的表格时7列的数据。所以使用了 i / 7 这样得到的数据一致的算是一行的数据。这里就有个问题出现了,此时IE提示,该部分的代码导致IE运行速度慢。

var cusTale = '';
var t = 0;
cusTale += '<table border=0><tbody><tr>';
for (var i = 0; i < cusJson.length; i++) {
if(i/7==t){
cusTale += '<td><input type="checkBox" name="pageCustomers" value="'+ cusJson[i].id +'">'+ cusJson[i].name +'</input></td>';
}else{
i--;
t++;
cusTale += '</tr><tr>';
}
}
cusTale += '</tbody><table>';
document.getElementById('tdCustomer').innerHTML = cusTale;

认真看也没有什么问题,最后alert(i / 7).得到的值浮点数的值,而不是我预期的整数,因为在java中,整数除以整数,得到的还是整数。所以我在此页面做了Math.floor(i / 7) 的运算,之后网页正常运行。

要使用 if( Math.floor(i/7) == t) 而不能是 if( i / 7 == t).

var cusTale = '';
var t = 0;
cusTale += '<table border=0><tbody><tr>';
for (var i = 0; i < cusJson.length; i++) {
if(Math.floor(i/7)==t){
cusTale += '<td><input type="checkBox" name="pageCustomers" value="'+ cusJson[i].id +'">'+ cusJson[i].name +'</input></td>';
}else{
i--;
t++;
cusTale += '</tr><tr>';
}
}
cusTale += '</tbody><table>';
document.getElementById('tdCustomer').innerHTML = cusTale;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: