Javascript 使表格单元格具有响应性,并使其均匀地呈正方形,填满窗口
我想使表格单元格具有响应性-甚至正方形填充所有可用空间(窗口)。 如果表格宽度为100%,则会占用所有可用空间,使单元格均匀分布,但仅水平分布。我用jquery编写了小型javascript,在窗口调整大小事件中调用此函数:Javascript 使表格单元格具有响应性,并使其均匀地呈正方形,填满窗口,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想使表格单元格具有响应性-甚至正方形填充所有可用空间(窗口)。 如果表格宽度为100%,则会占用所有可用空间,使单元格均匀分布,但仅水平分布。我用jquery编写了小型javascript,在窗口调整大小事件中调用此函数: function windowReszie(){ $("td").each(function(){ $(this).css({"height":$(this).width()}); }) } 但是这种方法很慢,因为我有很多单元格——有没有一种方法可以用css
function windowReszie(){
$("td").each(function(){
$(this).css({"height":$(this).width()});
})
}
但是这种方法很慢,因为我有很多单元格——有没有一种方法可以用css或者其他更好更快的方法来实现呢?
我发现您的方法存在一些问题,您正在计算每个单元格的宽度 我会做一些类似的事情
function windowReszie(){
var size =$("td").width();
$("td").height(size);
}
另一种方法是设置一个类并更改与该类关联的css规则,但这可能有点棘手(请参阅:)首先尝试在
中添加类,然后循环该类。。。无需检查每个
项目。是否尝试使用
而不是表格单元格?它可能比使用table快得多。我不需要使用javascript来调整
的宽度和高度吗?我必须有7个水平响应框和14个垂直响应框,但是
的渲染速度要比快…
。但是,这不是很大的网格。啊,这只是一个例子,我的网格很大,有7列20行,但我会尝试一下。你的工作也很好-谢谢,但是@Py也给出了一个代码示例。如果可以的话,我会接受你的两个答案。很好,它工作得很好,出于某种原因,我认为jquery只会将这一点应用于首次发现的td
并不是所有元素。但棘手的是,对于css属性(例如.css
、.width
和.height
),用于读取第一个元素的函数只读取第一个元素,而set为每个元素设置if。