隐藏其他Divs当点击新的Div与相同的类

问题描述:

我无法弄清楚如何添加关闭其他divs的功能时,当我点击一个div新div与相同的类。我知道它应该很简单,但不能让它工作。这里是小提琴 - http://jsfiddle.net/dnym5p1s/隐藏其他Divs当点击新的Div与相同的类

added correct link 

<div class="option-heading"> 
      <div class="arrow-up">&#9650;</div> 
      <div class="arrow-down">&#9660;</div> 
      <h1>Year1</h1> 
     </div> 
     <div class="option-content"> 
      Content 
     </div> 
     <div class="option-heading"> 
      <div class="arrow-up">&#9650;</div> 
      <div class="arrow-down">&#9660;</div> 
      <h1>Year2</h1> 
     </div> 
     <div class="option-content"> 
      Content 
     </div> 
$(".option-content").hide(); $(".arrow-up").hide(); 
     $(".option-heading").click(function(){ 
       $(this).next(".option-content").slideToggle(150); 
       $(this).find(".arrow-up, .arrow-down").toggle(); 
     }); 
+0

始终在您的问题中发布您的代码。像jsFiddle这样的网站应该是对此的恭维,而不是代替它。 – j08691 2015-02-24 16:12:21

+0

你可以指定更多你想要完成的事情吗? – Djip 2015-02-24 16:18:08

这将做到这一点:

$(".option-content,.arrow-up").hide(); 
$(".option-heading").click(function() { 
    $(".option-content").not($(this).next()).slideUp(250); 
    $(".option-heading").not(this).find("div.arrow-up").hide(); 
    $(".option-heading").not(this).find("div.arrow-down").show(); 
    $(this).next(".option-content").slideToggle(250); 
    $(this).find(".arrow-up, .arrow-down").toggle(); 
}); 

jsFiddle example

刚上点击监听器的顶部添加$(".option-content").hide();像这样:

$(".option-heading").click(function(){ 
    $(".option-content").hide(); 
    $(this).next(".option-content").slideToggle(150); 
    $(this).find(".arrow-up, .arrow-down").toggle(); 
}); 
+0

补充 - 我知道这很容易 - 只是让它复杂化。 – RooksStrife 2015-02-24 16:19:33

+0

除了一旦你打开一个项目,你不能用这个代码关闭它。 – j08691 2015-02-24 16:20:10