2012-04-21 12 views
0

私は、ユーザーがオフにすることを許可したい(左側の)メニューのサイドバーを持っています。折りたたまれたときに空白を残すように、コードをドロップダウンして折りたたむようにしてください。しかし、隣接するペインにコンテンツを展開して、メニューがどこにあるかを記入する方がサイトの方が良いかもしれません。今のメニューはテーブルの単一セルにあり、コンテンツは単一のセルから右の両方に同じ行にあります。私は上下の行と競合するので、行内のセルの数を変更しないようにしたいと思います。だから1つのアプローチは、2つのセルを含むメニューと1つのセルの内容を持つが、2つのcolspanを持つことを切り替えることです。私の理解は、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

これはトリッキーです..私はそれがを言うために少し遅れだとし、「レイアウトにテーブルを使用しないでください!」しかし、それは本質的にあなたの問題です。

の表は、それ以下のものに接続され、そしてあなたは、私はこれを行う簡単な方法が表示されないCOLSPANを使用する必要がされている場合は...

私はあなたがn-1で、新しい行を追加することができたとし列とcolspanを作成し、すべてのHTMLを新しいセルにコピーし、古い行を削除します。しかし、それはオリジナルのセル上にあるかもしれないJavaScriptを壊すでしょう。

関連する問題