【发布时间】:2012-12-03 15:56:02
【问题描述】:
我有一个框架集,其中一个框架中有一个按钮,可以将其父框架集最小化到一定大小。
代码有效,但问题是如果我选择先用鼠标手动调整框架大小,然后按最小化按钮,它将在 IE8 和 Chrome 中错误地调整大小。它在 FF 中正确调整大小。
我有这个 HTML 结构
...
<frameset cols="32%,*" border="2" frameborder="1" framespacing="1">
<frameset rows="350,*" border="2" frameborder="1" framespacing="1" id="searchResultFrameset">
<!-- The minimize button are in this frame searchResultFrame -->
<frame name="searchResultFrame" scrolling="no" src="dummy">
<frame name="itemFrame" frameborder="1" scrolling="no" id="itemFrame" src="dummy2"></frameset>
<frame name="contentFrame" frameborder="0" scrolling="yes" id="contentFrame" src="dummy3">
</frameset>
...
以及按下按钮时执行的代码。
// Minimize frame button
$('.minimizeFrame').toggle(function () {
parent.document.getElementsByTagName('frameset')[1].setAttribute('cols','22,*');
}, function () {
parent.document.getElementsByTagName('frameset')[1].setAttribute('cols','32%,*');
});
我可以在开发者工具中看到cols="32%,*" 更改为cols="22,*",但仍以错误的大小呈现。
为什么在鼠标改变后大小调整不正确?我错过了什么还是浏览器中的错误?或者是否有其他解决方案可以在没有此错误的情况下调整框架大小?
示例
【问题讨论】:
-
我也有这个问题。似乎无论您将 cols 设置为什么,它始终与您将其调整为的大小相关,而不是总数。这似乎是一个 webkit 错误,因为 Safari 的行为与 Chrome 相同,而 Firefox 的行为与预期相同!
-
一旦您使用框架边框手动调整大小,它就会出现,无法以编程方式正确调整框架大小。
-
在 Codlers 示例 js-code 中,设置了第二个(内部)框架集的 cols 属性。我猜外部框架集是要设置的。
标签: resize mouse frame frameset