2011-09-06 88 views
1

我試圖用jQuery來動畫一些元素。 元素具有相同的類和id,因爲元素中的信息是從數據庫中「獲取」的。Jquery:動畫高度

我的問題是,當我點擊元素時,所有隱藏的東西都彈出來了,我只想顯示用戶點擊的信息。不是所有的人。

在腦子裏,我得到這個:

<script> 
    $(document).ready(function() { 
     $("#new_user").click(function() { 
      $(".new_users_box").animate({height: 'toggle' }); 
     }); 
    }); 
</script> 

我所動畫是這樣的:

while ($row = mysql_fetch_array($result)) 
{ 
    $thumb1 = $row['user_thumb1']; 
    $new_id = $row['id']; 
    $new_user = $row['username']; 

    echo '<a id="new_user" class="box_round" 
      style="background-color:#101010 !important;">'.$new_user.'</a> 
      <div class="box_newest new_users_box" style="display:none;"> 
      <p>'.$new_user.'</p> 
      </div>'; 
} 

有誰知道我可以解決這一問題?

回答

2

您應該指的是$(this)而不是您的點擊處理程序中的$('.new_users_box')$(this)將選擇觸發事件的元素,而選擇一個類(在前面標記的所有東西)可能會選擇一些元素(這就是爲什麼它會向你展示所有這些元素的原因)。

+0

這不起作用,然後它隱藏了被點擊的元素。 – Kaizokupuffball

+0

這可能是因爲你需要通過選擇'$(this).children('#new_users_box')來檢查'#new_users_box'。animate(..' – m90

+0

哦,我不知道我可以選擇元素,這真的減輕了一切!謝謝!:) – Kaizokupuffball