JQueryで困っています。

“リンクをクリックするとページ内のアコーディオンメニューが開く”という動きにしたいのですが、どのようにソースをかけばいいのかわかりません。
以下は、わかるところまで作成したソースです。
どなたかわかる方ご教授お願い致します。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/10/15 17:55:56
  • 終了:2013/10/22 09:09:00
id:asatanweb

【HTML】

<p>テスト内容の詳細は<a href="#test1" onclick="point()">こちら</a><p> //←こちらの部分をクリックすると開く
<p><a href="#test2" onclick="point()">テストです。</a></p>

<ul id="menu">
<li><div class="archive"><a id="#test1"></a>テスト1</div>
<ul class="subMenu">
<li>
テストです。
</li></ul></li>
<li><div class="archive"><a id="#test1"></a>テスト2</div>
<ul class="subMenu">
<li>
テストです。
</li></ul></li>
<li><div class="archive"><a id="#test1"></a>テスト3</div>
<ul class="subMenu">
<li>
テストです。
</li></ul></li></ul>

【JQuery】

$(function point(){
    $('.subMenu').hide();
    $('#menu .archive').click(function(e){
    	if($(this).is(".selected")){
		    $(this).removeClass("selected");
		} else {
			$(this).addClass("selected");}
        $('+ul.subMenu',this).slideToggle();
    });
});

ベストアンサー

id:Lhankor_Mhy No.1

Lhankor_Mhy回答回数775ベストアンサー獲得回数2302013/10/15 20:22:01

 間違ってると思うところを指摘します。頑張ってください。

  1. loadイベントでpointを定義しているので、グローバルスコープから呼び出せない。
  2. そして、呼び出すまでもなくイベントを捕まえて走ってる。
  3. だからonclickはいらない。
  4. point関数の中でclickイベントをアタッチしているが、セレクタが間違っている。
  5. そして、thisを使ってslideToggleメソッドを使っているので、単純にセレクタを「こちらの部分」に指定しても動作しない。
  6. だから、ソースを根本的に変える必要がある。

 
 
 
 ちなみに、「こちらの部分」をクリックした時に表示されてほしい部分はどこなんでしょう? テスト1の下ですか?

id:asatanweb

ご回答ありがとうございます。
根本的にソースを変える必要があるのですね。
ご指摘いただいたところをふまえながらもう一度考えてみます。

テスト1の下の「テストです。」を表示させる動きにさせたいです。

2013/10/16 12:41:04

その他の回答(0件)

id:Lhankor_Mhy No.1

Lhankor_Mhy回答回数775ベストアンサー獲得回数2302013/10/15 20:22:01ここでベストアンサー

 間違ってると思うところを指摘します。頑張ってください。

  1. loadイベントでpointを定義しているので、グローバルスコープから呼び出せない。
  2. そして、呼び出すまでもなくイベントを捕まえて走ってる。
  3. だからonclickはいらない。
  4. point関数の中でclickイベントをアタッチしているが、セレクタが間違っている。
  5. そして、thisを使ってslideToggleメソッドを使っているので、単純にセレクタを「こちらの部分」に指定しても動作しない。
  6. だから、ソースを根本的に変える必要がある。

 
 
 
 ちなみに、「こちらの部分」をクリックした時に表示されてほしい部分はどこなんでしょう? テスト1の下ですか?

id:asatanweb

ご回答ありがとうございます。
根本的にソースを変える必要があるのですね。
ご指摘いただいたところをふまえながらもう一度考えてみます。

テスト1の下の「テストです。」を表示させる動きにさせたいです。

2013/10/16 12:41:04

コメントはまだありません

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

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

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

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