2012-04-21 62 views
0

我有一个(左侧)菜单边栏,我希望允许用户关闭。有代码让它下降并折叠起来,折叠时留下空白空间然而,网站可能会更好地展开相邻窗格中的内容,以填充菜单所在的位置。此时菜单位于表的单个单元格中,内容位于单个单元格中,位于同一行中。我希望避免更改行中单元格的数量,因为这会与上下的行发生冲突。因此,一种方法是切换两个单元格,包括菜单和一个单元格,内容但两个单元格。我的理解是JavaScript下拉工作是通过预加载两个版本然后隐藏一个版本来实现的。是否有可能使Javascript改变表结构?想象一下,它看起来像下面的东西,但这本身并不工作。使用Javascript更改表格结构

<script type="text/javascript"> 
     function toggleBar(obj) { 
      var navbar = document.getElementById("navbar"); 
      if (navbar.style.display == "none") { 
       navbar.style.display = ""; 
       obj.innerHTML = "<img src='images/collapse.gif' alt='Hide Menu'>"; 
      } else { 
       navbar.style.display = "none"; 
       obj.innerHTML = "<img src='images/expand.gif' alt='Show Menu'><td colspan=2"; 
      } 
     } 

和身体:“不要使用表格来布局”

<table><tr><div style="background-color:silver;width:100px"> 
<a href="javascript:void(0)" onclick="toggleBar(this);"><td><img src="images/collapse.gif" alt="Hide Menu"><div id="navbar" ><a href="javascript:void(0)" onclick="toggleBar(this);"></a></a>menu here<br>menu1<br>menu2</td><td></div></div>CONTENT GOES HERE<td></tr> 
<table> 
+0

好点。以上是有缺陷的,但希望解决方法。 – user1260310 2012-04-21 18:20:02

回答

0

这是棘手。我想这是一个有点晚说,但这基本上是你的问题。

如果表连接到它下面什么,你需要使用合并单元格,然后我没有看到一个简单的方法来做到这一点..

我想你可以添加新行,用n-1列和colspan,然后将所有HTML复制到新单元格中并删除旧行。但是这会破坏原始单元格上的任何JavaScript。