• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ドロップダウンメニューの制作で)

ドロップダウンメニューの制作で困っています!

このQ&Aのポイント
  • HTMLの定義を変更してドロップダウンメニューを制作したいのですが、どこを変えれば良いでしょうか?
  • 参考にしたサイトのソースでは、HTMLの定義を変更するとドロップダウンメニューが機能しなくなってしまいます。
  • ドロップダウンメニューを作成するために、HTMLの定義をどのように変更すれば良いのか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

ああ~ メニューが2つ以上あるなら、グル―バルのフラグはやめた方がいいですね <style> .hide{ display:none; } </style> <script> function pullDown(num) { var obj=document.getElementById(num); obj.className = obj.className=="hide"?"":"hide"; return false; } </script> <div><a href="#" onclick="return pullDown('ID01');">テスト1</a></div> <div id="ID01" class="hide"><a href="#">テスト1内容</a></div> <div><a href="#" onclick="return pullDown('ID02');">テスト2</a></div> <div id="ID02" class="hide"><a href="#">テスト2内容</a></div> のように処理してみては?

testid
質問者

お礼

ありがとうございます。 完全に意図したことができました。 感謝いたします。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

元のソースにあった flag = false; が抜けていますが?

testid
質問者

お礼

ああ。。。 なるほど。ありがとうございました! 思い通りに実装できましたが メニューを増やした時ちょっと挙動がおかしいような気がするんです。 ダブルクリックでないと、メニューが開かなかったり。。。 flag = false; function pullDown01() { var ID01=document.getElementById("ID01"); if(flag) ID01.style.display = "none"; else ID01.style.display = "block"; flag = !flag; return false; } function pullDown02() { var ID02=document.getElementById("ID02"); if(flag) ID02.style.display = "none"; else ID02.style.display = "block"; flag = !flag; return false; } ↑こんな感じで。 ただ、今回の質問事態は解決いたしました! ありがとうございました!

すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

グローバル変数を使うべきかどうかは疑問ですが、以下のようにすればとりあえず動きます function pullDown01() { var ID01=document.getElementById("ID01"); if(flag) ID01.style.display = "none"; else ID01.style.display = "block"; flag = !flag; return false; } として、 <a href="#" onclick="return pullDown01();">

testid
質問者

お礼

早速の回答ありがとうございます。 参考にし以下のようにソースを書きましたが動いてくれません…。 何か間違っているでしょうか? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <HEAD> <TITLE></TITLE> <SCRIPT language="JavaScript"> <!-- // プルダウンメニュー function pullDown01() { var ID01=document.getElementById("ID01"); if(flag) ID01.style.display = "none"; else ID01.style.display = "block"; flag = !flag; return false; } //--> </SCRIPT> <link href="css/test.css" rel="stylesheet" type="text/css"> </HEAD> <BODY bgcolor="#ffffff"> <TABLE border="0" cellspacing="0" cellpadding="0"> <TBODY> <TR> <TD> <DIV style="background-color:#ffcccc; width:160px"> <div class="test"><p><a href="#" onclick="return pullDown01();">テスト</a></p></div> </DIV> <DIV id="ID01" style="display:none;"><div class="test2"><p><a href="#">テスト</a></p></div></div> </TD> </TR> </TBODY> </TABLE> </BODY> </HTML>

すると、全ての回答が全文表示されます。

関連するQ&A