gpt4 book ai didi

javascript - 显示/隐藏内表时如何防止外表调整大小

转载 作者:太空宇宙 更新时间:2023-11-03 18:12:50 24 4
gpt4 key购买 nike

在网页中,单击按钮时,隐藏的表格显示在另一个表格中。但是,每次切换隐藏表时,外部表的宽度都会自行调整大小。 fiddle 演示在这里:http://jsfiddle.net/bEK8f/5/

我希望外表的初始宽度能考虑到内表的大小。因此,不应通过显示/隐藏内表来改变外表宽度。

如下面的 cebirci 所示,固定外部表格的宽度并使用固定布局是可行的。请注意是否可以根据隐藏表来确定外表的宽度。这样就不需要手动设置外表宽度了。

非常感谢!

我还在下面包含了我的代码:

<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">

$(document).ready(function(){
$("#show").click(function(e){
e.preventDefault();
$('#cat1').toggle();
});

$("#calculate").click(function(e){
var diff = $('#diff').val();
var sd = $('#sd').val();
var effect = diff/sd;
$('#es').val(effect.toFixed(2));
$('#cat1').toggle();
});
});

</script>

<style>
table{border: 1px solid black;}
</style>
</head>
<body>

<table style="width:500px;table-layout: fixed;">
<tr class="row2">
<th class="col0">Effect size <button id="show">Show</button></th><td class="col1"><input type="text" id="es" value="0.1"></td>
</tr>
<tr class="cat1" id='cat1' style="display:none">
<th class="col0" id='test'></th>
<td class="col1">
<table>
<tr><th class="col0 centeralign" colspan="2"> Effect size calculation </th></tr>
<tr><td>Difference</td> <td> <input type="text" id="diff" value=".1"> </td></tr>
<tr><td>sd</td> <td> <input type="text" id="sd" value="1"> </td></tr>
<tr><td></td> <td> <button id="calculate">Calculate</button> </td></tr>
</table>
</td>
</tr>
</table>
</body>
</html>

最佳答案

您应该只对表格的标题行使用 th 标签。在您的表中使用 td 更好,因为您没有标题等的任何标题行。在您的 html 中,您的新表格出现在一个单元格中,并且该单元格对于您的表格来说很小,因此它会调整大小。您可以使用 colspan 合并第二行的两个单元格。

您的 html 代码可以是这样的:

<table style="width:340px;table-layout: fixed;">
<tr class="row2">
<td class="col0">Effect size <button id="show">Show</button></td>
<td class="col1"><input type="text" id="es" value="0.1" /></td>
</tr>
<tr class="cat1" id='cat1' style="display:none">

<td class="col1" colspan="2">
<div style="display:inline"><table style="width:100%">
<tr><th class="col0 centeralign" colspan="2"> Effect size calculation </th></tr>
<tr><td>Difference</td> <td> <input type="text" id="diff" value=".1" /> </td></tr>
<tr><td>sd</td> <td> <input type="text" id="sd" value="1" /> </td></tr>
<tr><td></td> <td> <button id="calculate">Calculate</button> </td></tr>
</table></div>
</td>
</tr>
</table>

jsfiddle 链接是 http://jsfiddle.net/bEK8f/2/

关于javascript - 显示/隐藏内表时如何防止外表调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23368196/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com