2012-04-21 61 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。