1

これは私のマークアップです:

<div id="august2012" class="event_month">
  <div class="header"><span>August 2012</span></div>
  <div id="event3" class="event">
    <h3>Example Event 3 - 19/08/12</h3>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer commodo ante iaculis purus placerat sed consectetur odio venenatis. Ut erat nisi, laoreet at tempor vel, sollicitudin sed dui.</p>
  </div>
  <div id="event4" class="event">
    <h3>Example Event 4 - 24/08/12</h3>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer commodo ante iaculis purus placerat sed consectetur odio venenatis. Ut erat nisi, laoreet at tempor vel, sollicitudin sed dui.</p>
  </div>
</div> 
<div id="july2012" class="event_month">
  <div class="header"><span>July 2012</span></div>
  <div id="event1" class="event">
    <h3>Example Event 1 - 10/07/12</h3>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer commodo ante iaculis purus placerat sed consectetur odio venenatis. Ut erat nisi, laoreet at tempor vel, sollicitudin sed dui.</p>
  </div>
  <div id="event2" class="event">
    <h3>Example Event 2 - 14/07/12</h3>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer commodo ante iaculis purus placerat sed consectetur odio venenatis. Ut erat nisi, laoreet at tempor vel, sollicitudin sed dui.</p>
  </div>
</div> 
<div id="june2012" class="event_month">
  <div class="header"><span>June 2012</span></div>
</div>
<div id="may2012" class="event_month">
  <div class="header"><span>May 2012</span></div>
</div>

ここで、誰かが「.header」クラスの1つをクリックすると、下の「.event」クラスが下にスライドするように、JavaScriptコードを作成する必要があります。

問題は、別の月を追加するたびにコードを追加せずに、すべての月に使用できるコードをどのように作成するかです。

これは私がこれまでに持っているものですが、機能しません...

$("#events #event_listings .event_month .header").click(function() { 
    $(this).parent(".event").slideDown('slow');
});

誰かがこれを手伝ってくれますか?

4

1 に答える 1

1

このようなものが欲しいですか?

$('.header').click(function(){
    $(this).nextUntil('.header').slideToggle();        
});​

http://jsfiddle.net/p8LrG/

于 2012-07-20T20:39:33.600 に答える