QAページで、Aが隠れている状態で、Qをクリックするとそれに対したAが現れるというプログラムです。二つ目をひらくと一つ目は閉じるようにしたいのですが・・・

変数にQのnameを保存して、次にファンクションが起動したときに用いようとしましたが、変数が残せませんでした。
どなたかお教えください。
<script type="text/javascript">
<!--
exq="";
function submenu(submenu_name) {
exq=document.getElementById("record").innerHTML;
vflg = document.getElementById(submenu_name).style.display;
if (vflg == 'none'){
document.getElementById(submenu_name).style.display = 'block';
if(exq !==""){
//★★ ↓ ここでエラーになる。
document.getElementById(exq).style.display ='none';
}
}else{
document.getElementById(submenu_name).style.display = 'none';
}
}
// -->
</script>
</head>
<body >

<div class="bunruiBox">
分類
</div>
<div class="Qbox">
<img src="q1.gif"align="middle"valign="top">
<a onClick="submenu('submenu_001')">
ここに質問1
</a>
</div>
<div id="submenu_001"style="display=none">
答え1
</div>
<div class="Qbox">
<img src="q1.gif"align="middle"valign="top">
<a onClick="submenu('submenu_002')">ここに質問2</a>
</div>
<div id="submenu_002"style="display=none">
ここにお答え2
</div>
</DIV>

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2014/03/07 21:54:27
  • 終了:2014/03/14 21:55:03
id:maniad1

すいません。コードが間違っていました。

<html>
<head>
<!--function submenu(submenu_name) { vflg = document.getElementById(submenu_name).style.display; if (vflg == 'none'){ document.getElementById(submenu_name).style.display = 'block'; }else{ document.getElementById(submenu_name).style.display = 'none'; } }// --></script>
</head>
<body >



分類








</body>
</head>
</HTML>

回答(0件)

回答はまだありません

  • id:Lhankor_Mhy
    補足お願いします。
    exq=document.getElementById("record").innerHTML
    ↑これには何が入る予定なんですか?
  • id:maniad1
    すいません、その行は削除漏れです。
    これ、実は表示しないHTMLタグに直前に表示されたsubmenu_nameを記入しておいて、次回にそこから直前に開かれたQの項目を取得して、表示のクローズをしようとして、どうしてもうまく動かなかったものの名残です。
  • id:Lhankor_Mhy
    そうすると、exqは常にヌル文字ですので、if文で分岐されエラーが出る行が実行されることはないのですが、何か間違っていませんか?
  • id:maniad1
    コードを間違えていました。
    正しいものをアップしました。
    大変すいません。混乱させてしまいました。
    プログラムの駆け出しなので、ご容赦ください。
  • id:Lhankor_Mhy
    試してみましたが、それだと普通に動きますね。どのようなエラーが出るのでしょうか?
  • id:TransFreeBSD
    「二つ目をひらくと一つ目は閉じるようにしたいので、その方法を教えてほしい」
    という質問では?
    付加情報として
    「思いつくことをやったけど、変数に残せなかったりエラーになる」
    ということで。

    普通に変数には残せます。
    多分方向性は間違ってなくて、デバッグが出来てないだけな気がしてます。
    面倒臭がらず裏紙にでも手書きしていくと頭の整理が出来ますよ。
    あと開発環境はどんなでしょう?これくらいならブラウザのステップ実行使うと良いと思います。

    あと、styleの中は"="じゃなく":"です。
  • id:maniad1
    無事できました。
    ありがとうございました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません