使用javascript宽度时表中的额外空间
我不是为每个表使用CSS宽度,而是使用javascript根据单元格中的文本量自动使表变宽。但当滚动水平滚动条时,它也会在表格的最右侧留下空白和绿色空间。哪些代码在生成此空白,以及删除此空白的好方法是什么 参见示例:我的屏幕大小:1366*768 HTML: Javascript:使用javascript宽度时表中的额外空间,javascript,Javascript,我不是为每个表使用CSS宽度,而是使用javascript根据单元格中的文本量自动使表变宽。但当滚动水平滚动条时,它也会在表格的最右侧留下空白和绿色空间。哪些代码在生成此空白,以及删除此空白的好方法是什么 参见示例:我的屏幕大小:1366*768 HTML: Javascript: var i=0,row,table=document.getElementsByTagName('table')[0],tabwid=table.offsetWidth; while(row=table.rows[
var i=0,row,table=document.getElementsByTagName('table')[0],tabwid=table.offsetWidth;
while(row=table.rows[i++])
{var hei=row.offsetHeight;
while(tabwid<4000)
{tabwid+=500;table.style.width=tabwid+'px';
if(row.offsetHeight==hei)
{table.style.width=tabwid-500+'px';break;}
}
}
编辑:我发现表是可见的,额外的空白和绿色空间也是其中的一部分。似乎与JS中的以下更改一起工作 我添加了一个windowWidth变量,这样可以得到每个浏览器窗口的宽度。 然后,不再像以前那样检查4000,而是检查浏览器窗口大小
var i=0,row,table=document.getElementsByTagName('table')
var windowWidth = window.innerWidth;
[0],tabwid=table.offsetWidth;
while(row=table.rows[i++])
{var hei=row.offsetHeight;
while(tabwid<windowWidth)
{tabwid+=500;table.style.width=tabwid+'px';
if(row.offsetHeight==hei)
{table.style.width=tabwid-500+'px';break;}
}
}
感谢您的回答,但当我使用您的脚本时,除了单元格中的标记外,并没有滚动条和额外的换行符,这与不使用javascript相同。。。有什么想法吗?我的意思是最大的表格内容文本总是在40000表格宽度之内
var i=0,row,table=document.getElementsByTagName('table')[0],tabwid=table.offsetWidth;
while(row=table.rows[i++])
{var hei=row.offsetHeight;
while(tabwid<4000)
{tabwid+=500;table.style.width=tabwid+'px';
if(row.offsetHeight==hei)
{table.style.width=tabwid-500+'px';break;}
}
}
var i=0,row,table=document.getElementsByTagName('table')
var windowWidth = window.innerWidth;
[0],tabwid=table.offsetWidth;
while(row=table.rows[i++])
{var hei=row.offsetHeight;
while(tabwid<windowWidth)
{tabwid+=500;table.style.width=tabwid+'px';
if(row.offsetHeight==hei)
{table.style.width=tabwid-500+'px';break;}
}
}