【发布时间】:2011-02-26 15:57:31
【问题描述】:
我有一个表格(或区域),想将其宽度和高度值设置为另一个 Div(或区域)。
第二个实际上是一个 Ajax 指示器模式,当页面异步回发时显示加载文本。这是一个例子
<table id="MainTable">
<tr>
<td>
Content ....
</td>
</tr>
</table>
<div id="Progress">
Ajax Indocator
</div>
以下 javascript 不起作用
document.getElementById("Progress").style.width = document.getElementById("MainTable").style.width;
document.getElementById("Progress").style.height = document.getElementById("MainTable").style.height;
它应该可以在 IE 和 FireFox 上运行。如何纠正它。
我在 StackOverFlow 中检查了一些其他解决方案,但无法修复它。
我在等你的消息。
更新:我用这个
<script>
function SetSize(regionToChange, mainRegion) {
$(document).ready(function() {
$('#regionToChange)
.width($('#mainRegion).outerWidth())
.height($('#mainRegion).outerHeight());
});
}
</script>
我这样称呼它
<asp:Button ID="btnReset" runat="server" SkinID="Button" Text="Reset" OnClick="btnReset_OnClick" OnClientClick="SetSize('Progress', 'MainTable');" />
但它显示了一个找不到对象的错误
更新 2 我看到了这个错误
在调试器中我遇到了这个问题
【问题讨论】:
-
看来您缺少单引号。这些参数是字符串文字还是 DOM 元素?
-
regionToChange始终是DIV元素,mainregion始终是Table或fieldset或Div,正如您在我的问题中看到的那样,我称之为SetSize方法有 2 个参数。一个用于更改 Div,一个用于指定对象以使用宽度和高度属性值。因此,此方法是通用的,适用于所有页面,因此它必须获取 2 个参数,并且不应该是静态的。 -
了解,但这并不能回答我的问题。如果参数是 DOM 对象,请使用
$(regionToChange)。如果它们是字符串文字,请使用$('#' + regionToChange)
标签: asp.net javascript jquery html ajax