本を参考にして作ってみて、いちおう折りたたみができるようにはなったのですが一つ困っている事があります。
フレームを使って左右にページを分けて、左側をメニューにしています。その左側の折りたたみメニューなのですが項目をクリックして右側にページを表示させると、元に戻ってしまいます。私は一度開いたら自分でもう一度クリックするまで勝手に折りたたまれないメニューを作りたいのです。
現時点では<HEAD>部分に↓これが入っていて
<script language="JavaScript"><!--
vType = ["none","block"];
function tblMenu(tOBJ,dType)
{
Menu = tOBJ.tBodies[0].style;
Menu.display = vType[Menu.display.indexOf("none") + 1];
}
// --></script>
<body>の部分に↓これを入れています
<table border="0" onClick="tblMenu(this)">
<thead><tr><th align="left">
<img src="****.gif"></th></tr></thead>
<tbody style="display:none">
<tr><td><a href="**.html" target="body">項目</a></td></tr>
・
・
・
こんな具合なのですが、これのどこかを直したら勝手に折りたたまれないようになりますか?
もしくは、自分でクリックするまで勝手に折りたたまれたりしない折りたたみメニューの作り方をご存知の方がいましたら是非教えて下さい。よろしくお願いします。
No.2ベストアンサー
- 回答日時:
なぜリンクをクリックすると折りたたまれたかというと、
onClickがテーブルについているので、
開いたメニューをクリックするとテーブル内をクリックされたと同義なので、メニューが折りたたまれてしまうという、ある意味当然の動作をしたのですね。
で、onClickをそのまま<th>につけるとエラーになったりするんですね。
で、いろいろやった結果
<script language="JavaScript">
<!--
vType = ["none","block"];
function tblMenu(tOBJ)
{
Menu = document.all[tOBJ].style;
Menu.display = vType[Menu.display.indexOf("none") + 1];
}
// -->
</script>
</head>
<table border="0">
<thead><tr><th align="left" onClick="tblMenu('tbm')">
<img src="****.gif"></th></tr></thead>
<tbody id='tbm' style="display:none">
<tr><td><a href="tb.htm" target="main">項目</a></td></tr>
<tr><td><a href="tb.htm" target="main">項目2</a></td></tr>
</tbody>
</table>
こんな感じで落ち着きました。
早速、教えて頂いた通りに変えてみましたら思った通りに表示されるようになりました。自分で作ったというか、本を見ながら打った部分を大幅に変える事もなく、嬉しいです。
本当にありがとうございました!
No.1
- 回答日時:
上記のは知らないのであしからず^^;
海外のjavaを扱ったURLを紹介します。
小窓をコピーして中のリンクを変更すれば良いかと思います。
ステップ等はエキサイトで翻訳しながら読めば解りやすいと思います。
参考URL:http://www.dynamicdrive.com/dynamicindex1/naviga …
ご回答ありがとうございます。
ご紹介頂いたサイト、拝見しました。時間のあるときにでも他のTips少し翻訳しながら使いたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
table内で画像と文字をセンター...
-
表の中でのフォーム
-
テーブルで3セル作った行の下に...
-
HTMLでテーブルを縦に並べたい!
-
表の中に表
-
<td> 内のテーブルを上寄せにす...
-
dreamweaverで、テーブルのボー...
-
文字サイズ変更でテーブル要素...
-
写真のレイアウトで横並びにす...
-
Excelで可視部分だけをWeb形式...
-
HTMLで表を横並びにしたくて、...
-
Excel セルの幅が合わない
-
<tbody>は何のためにあるんでし...
-
<h1>タグの後の行間を詰めたい。
-
htmlでテーブル内にテキストボ...
-
FireFoxで見るとブラウザの幅に...
-
エクセルでサイズ指定でPOP...
-
aタグに直接style=""で:hoverを...
-
バーコードのサイズは拡大縮小...
-
CSSのtransform: translate(-50...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
table内で画像と文字をセンター...
-
表の中に表
-
HTMLでテーブルを縦に並べたい!
-
Excelで可視部分だけをWeb形式...
-
テーブルで3セル作った行の下に...
-
<td> 内のテーブルを上寄せにす...
-
表の中でのフォーム
-
CSS line-height が効かない
-
テーブルの中のグラデーション...
-
テーブルとテーブルの間に、隙...
-
セルの背景画像を、繰り返さず1...
-
cssのfont-sizeがFirefoxで効か...
-
innerHTMLを使わずに…
-
Jimdoで表組のなかの画像をポッ...
-
Firefox2で縦方向に隙間が出来...
-
スタイルシートで<table>の内側...
-
ヤフーストアのブースのカスタ...
-
Dreamweaverでソースが横一列に...
-
width="150" に収まるように・...
-
壁紙に複数の画像を使いたい
おすすめ情報