2011-07-08 12 views
0

私は3つの画像ボタンを持っていて、それらの1つをクリックすると、テキストを含むスライディングdivが表示されます。ここでjQuery sliding divs

私のJavaScriptコードです:

<script type="text/javascript"> 
    function showSlidingDiv() { 
     $("#slidingDiv").animate({ 
      "height": "toggle" 
     }, { 
      duration: 300 
     }) 
    } 
    function showSlidingDiv2() { 
     $("#slidingDiv2").animate({ 
      "height": "toggle" 
     }, { 
      duration: 300 
     }) 
    } 
    function showSlidingDiv3() { 
     $("#slidingDiv2").animate({ 
      "height": "toggle" 
     }, { 
      duration: 300 
     }) 
    } 
    </script> 

関数は、このコマンドでトリガーされます。

<a href="#" onClick="showSlidingDiv(); return false;"> 

スクリプトが正常に動作しますが、私はすべてのリンクをクリックすると、現在コンテンツが相互に追加 - 私が達成したいのは、新しいリンクをクリックすると開いているdivクラスを隠すことです。

どうすればよいですか?

答えて

1

jQuery accordionプラグインの使用をお勧めします。

更新: すべてのdivを閉じることができ、もう1つは選択されたオープン:あなたのhrefで

function toggleDiv(selectedDiv) { 
     // shortcut to select all sliding divs 
     $('div[id^="sliding"]').animate({ 
       "height": "toggle" 
      }, { 
       duration: 300 
      }, function() { 
       $(selectedDiv).show(); 
     }); 
       } 

、このような関数を呼び出します。

onClick="toggleDiv('#slidingDiv1'); // use slidingDiv2, 3 for other hrefs 
+0

が提案いただきありがとうございます - しかし、私は現在のソリューションが好きです。新しいdivをクリックすると、他の開いているdivを隠したり閉じたりする方法はありますか? –

+0

私は問題を解決しました - ありがとう! –