frameset - 使用javascript交换包含行的列

时间:2008-11-13 17:02:53

标签: javascript browser attributes frameset

我有一个框架集,其cols属性目前设置为“50%,50%”。我有一个toggleView方法,在单击元素后调用它。

我的目标是将框架集从显示cols更改为行,再次划分为50/50。

我试图在框架集上执行removeAttribute(“cols”),虽然这确实删除了“cols”属性,但它似乎没有在页面上更新(使用firebug实时测试)。

然后我会继续添加一个rows属性(是createAttribute,然后是setAttribute一个有效的方法来执行此操作吗?)以完成切换。

我想知道这是否可行,因为删除列似乎没有做任何事情。

非常感谢您的帮助。

1 个答案:

答案 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中测试过它(不幸的是,这是我最近开发的一个应用程序)。