2012-03-26 18 views
1

今はかなりうまくいくようなトグルでアコーディオンを作ろうとしています。 JavaScriptの初心者の助けを借りたいと思っています。Jqueryアコーディオンを切り替える

http://jsfiddle.net/z3wW4/

このありえない私が知っているかなり...

$(document).ready(function() { 
    $('#contact').click(function() { 
     $('#content2, #content3').hide(200, 'linear'); 
      $('#content').toggle(700, 'linear');   
    }); 
}); 

$(document).ready(function() { 
    $('#services').click(function() { 
     $('#content, #content3').hide(200, 'linear'); 
      $('#content2').toggle(700, 'linear'); 
    }); 
}); 

$(document).ready(function() { 
    $('#about').click(function() { 
     $('#content, #content2').hide(200, 'linear'); 
      $('#content3').toggle(700, 'linear'); 
    }); 
}); 
+0

404 - ファイルまたはディレクトリが見つかりません。 あなたのページは動作しません:) –

+0

今変更しました=) –

答えて

2

を私がお勧めしたい:

$('#menu > a').click(function() { // specifies which a elements 
    var that = $(this), // caching the selectors for performance 
     divs = $(this).siblings('div'), 
     div = $(this).nextAll('div:first'); 
    divs.not(div).hide(200, 'linear'); // hides all the sibling divs *except* for the 
             // immediately following div element 
    div.toggle(700, 'linear');   // toggles the immediately-following div 
}); 

JS Fiddle demoを。

参考文献:

+0

本当に素敵!ありがとう、たくさんの友達!インスピレーション! –

+0

あなたは大歓迎です。私は助けになってうれしいです!この回答はお役に立ちましたか?私はあなたが必要とする何かを逃したのですか? –

+0

それは魅力として働いた!もう一度、ありがとう! –

0

あなたは3 fonctionsは全く同じコードを持っていることがわかります。
次に、HTML要素の機能を定義するためにhtmlクラスを使用し、次にjavascript/jqueryを使用して、これらの機能の仕組みを定義する必要があります。

それはあなたのCSSやJavaScriptのを簡素化します:

http://jsfiddle.net/td3UB/

1

あなたのコードは非常に拡張性はありませんが、あなたはこのようにそれをしようとする場合があります:http://jsfiddle.net/PzYvA/

$(document).ready(function() {  
    var $menu = $("#menu"); 
    $menu.children("a").click(function(){ 
     var $content = $(this).next("div"); 
     $menu.children("div").not($content).hide(200, 'linear'); 
     $content.toggle(700, 'linear'); 
    }); 
}); 

は、以下のCSS

#menu > a { 
    display:block; 
} 

を追加して、Aの後に<br />を削除しますタグ

+0

お返事ありがとうございます...同じリンクを2回クリックすると問題があるようです。 –

+0

@GustavHederströmええと、私はffに問題はないと思いますが、どのブラウザでこれが起こっていますか? –

関連する問題