電子書籍の厳選無料作品が豊富!

jQuery初心者です。

http://triplexxx.jp/archives/150
こちらのサイトを参考にアコーディオンメニューを作成しました。
スムーズなスライドのメニューは出来たのですが、
どのメニューもリンクが効きません。
return falseをreturnに変えると効くようになりますが、
当然のことながらページのトップに遷移してしまいます。

どなたか解決策をご存知の方がいらっしゃいましたらご教授下さい。

いちお自分が書いたコードを載せておきます
===================================================
var j$ = jQuery;

j$(function(){
j$(".acc").each(function(){
j$("li > a", this).each(function(index){
var $this = j$(this);
if(index > 0) $this.next().hide();
var params = {height:"toggle", opacity:"toggle"};
$this.click(function(){
j$(this).next().animate(params, {duration:"fast"}).parent().siblings().children("ul:visible").animate(params, {duration:"fast"});
return;
});
});
});
});
===================================================

A 回答 (1件)

望まれている事が今一つわかりませんが、


return false;
とすれば本来の<a>要素のリンクの機能が無効になるので、リンクしないのは
当然です。何もreturnしないと<a>要素のリンク先に遷移するのも当然です。
ページの任意の場所に飛ばしたいなら、そこにアンカー<a name="hoge"></a>
をふっておいて、<a href="#hoge">hogeに移動</a>で移動すればよろしいかと、
それとも本当にajax機能を使って、リンク先ページの内容を、自ページの
任意の場所に表示させたいという事ですか?

アコーディオン的なメニュー表示とは、別問題です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!