【问题标题】:Jquery: Animating heightJquery:动画高度
【发布时间】:2011-09-06 19:21:06
【问题描述】:

我正在尝试使用 jQuery 为一些元素设置动画。 元素具有相同的类和 ID,因为元素中的信息是从数据库中“获取”的。

我的问题是当我点击元素时,所有隐藏的东西都会弹出,我只想显示用户点击的信息。不是全部。

在脑海中我得到了这个:

<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>';
}

有谁知道我该如何解决这个问题?

【问题讨论】:

    标签: jquery jquery-animate


    【解决方案1】:

    您应该在点击处理程序中引用$(this) 而不是$('.new_users_box')$(this) 将选择触发事件的元素,而选择一个类(前面标有 . 的所有内容)可能会选择几个元素(这就是为什么它会在您的案例中显示所有这些元素的原因)。

    【讨论】:

    • 那不行,然后它隐藏了被点击的元素。
    • 这可能是因为您需要通过选择:$(this).children('#new_users_box').animate(.. 子选择 #new_users_box
    • 哦,我不知道我可以选择元素中的元素,这真的很轻松!谢谢! :)
    猜你喜欢
    • 2011-06-03
    • 2016-08-25
    • 2012-03-01
    • 2012-04-20
    • 2011-06-25
    • 1970-01-01
    • 2015-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多