2012-09-20 54 views
0

HTMLjQuery的隐藏/单类名

<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> 

在这里,我能够显示在标题点击一个DIV,但是当我要去打开另一个必须得到隐藏显示多个部门。事实上,当我打开一个div其他必须隐藏。

请帮我...

在此先感谢

回答

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,然后打开一个。我应该这么做,以至于你无法看到它。

+0

ooops ...正确的答案的人..谢谢 –

+0

如果它是接受是正确的答案:) – RJD22

+0

我已经改变它,使它滑向上,而不是直接隐藏。我应该让它更漂亮一些。 – RJD22

1
$(".heading").click(function() {       
    $('.targetDiv:visible').hide(); /* reference to the single previous 
             * opened tab and hide it 
             */ 
    $(this).next(".targetDiv").slideToggle(500); 
}); 
0

你的意思是这样的:

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

只需添加的jQuery( “targetDiv。”)隐藏();也进入点击功能。