【问题标题】:jquery do not show animation on first itemjquery不在第一项上显示动画
【发布时间】:2012-02-06 10:27:49
【问题描述】:

新的列表项由 JS 生成。 每个新列表项都带有漂亮的动画。现在我不想在第一个列表项上看到动画。

到目前为止,我尝试将slice(1) 添加到代码中,但没有成功:

$('li.show').slice(1).animate({left: '-=100'}, 300);

如何使用最新版本的 JQuery 完成这项工作?

【问题讨论】:

  • 好像是working fine in JSFiddle。你能详细说明一下吗?例如。你的 CSS 是什么样的?
  • 发布更多 Javascript 代码以及任何相应的 HTML 会很有用。
  • 列表项是由AJAX生成的,这可能是它不起作用的原因
  • @Jroen 那么您可能希望将该代码放在 ajax 回调中..
  • @amosrivera 这正是我所做的。 $('li.show').animate({left: '-=100'}, 300);工作正常。但是添加 .slice(1) 不会有这么神奇的效果。

标签: javascript jquery html animation slice


【解决方案1】:

如果您使用 AJAX 请求来构建您的列表,那么您需要调用您在 AJAX 请求的回调函数中发布的代码,以便在您尝试操作之前,添加的 HTML 将出现在 DOM 中:

$.get('<URL>', function (serverResponse) {

    //append the new list-items to the list, select them, un-select the first index, then animate the remaining elements
    $('ul').append(serverResponse).children('.show').slice(1).animate({left: '-=100'}, 300);
});

请注意,此代码 sn-p 期望您的服务器端脚本输出可以直接添加到 DOM 中的有效 HTML。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多