我有一个框架集,其cols属性目前设置为“50%,50%”。我有一个toggleView方法,在单击元素后调用它。
我的目标是将框架集从显示cols更改为行,再次划分为50/50。
我试图在框架集上执行removeAttribute(“cols”),虽然这确实删除了“cols”属性,但它似乎没有在页面上更新(使用firebug实时测试)。
然后我会继续添加一个rows属性(是createAttribute,然后是setAttribute一个有效的方法来执行此操作吗?)以完成切换。
我想知道这是否可行,因为删除列似乎没有做任何事情。
非常感谢您的帮助。
答案 0 :(得分:2)
这对我来说很好:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>A simple frameset document</title>
<script type="text/javascript">
function onloadHandler() {
setTimeout(function() {
var myFrameset = document.getElementById("myFrameset");
var value = myFrameset.getAttribute("cols");
myFrameset.removeAttribute("cols");
myFrameset.setAttribute("rows", value);
}, 2500);
}
</script>
</head>
<frameset id="myFrameset" onload="onloadHandler()" cols="50%, 50%">
<FRAME src="page1.htm">
<FRAME src="page1.htm">
</frameset>
</html>
基本上,它在页面加载后交换2.5秒。如果您需要其他任何内容,或者由于某种原因这对您不起作用,请告诉我。我只在IE7中测试过它(不幸的是,这是我最近开发的一个应用程序)。