0

HTML

  <p class="heading"></p>
<div id="div1" class="targetDiv">content1</div>
 <p class="heading"></p>
<div id="div2" class="targetDiv">content2</div>
 <p class="heading"></p>
<div id="div3" class="targetDiv">content3</div>
 <p class="heading"></p>
<div id="div4" class="targetDiv">content4</div>


<script type="text/javascript">
    jQuery(document).ready(function() {
              jQuery(".targetDiv").hide();
              //toggle the componenet 
              jQuery(".heading").click(function()
              {
                jQuery(this).next(".targetDiv").slideToggle(500);

              });
            });
    </script>

ここでは、見出しをクリックすると 1 つの div を表示できますが、別の div を開くときは非表示にする必要があります。実際、私が1つのdivを開いている間、他のdivを非表示にする必要があります。

助けてください...

前もって感謝します

4

3 に答える 3

1
$(".heading").click(function() {                        
    $('.targetDiv:visible').hide();  /* reference to the single previous
                                      *  opened tab and hide it 
                                      */
    $(this).next(".targetDiv").slideToggle(500);
});
于 2012-09-20T09:44:02.243 に答える
1

これでうまくいくはずです:

<script type="text/javascript">
    jQuery(document).ready(function() {
              jQuery(".targetDiv").hide();
              //toggle the componenet 
              jQuery(".heading").click(function()
              {
                jQuery(".targetDiv").slideUp();
                jQuery(this).next(".targetDiv").slideToggle(500);

              });
            });
</script>

簡単な説明: 最初にすべての div を非表示にしてから、1 つを開きます。見えないくらい早くしなきゃ。

于 2012-09-20T09:42:36.667 に答える
0

あなたはこのようなことを意味しますか?

http://jsfiddle.net/Et4gh/1/

jQuery( "。targetDiv")。hide();を追加するだけです。クリック機能にも。

于 2012-09-20T09:44:50.613 に答える