为了账号安全,请及时绑定邮箱和手机立即绑定

目标仅在动画链的一部分中添加元素

目标仅在动画链的一部分中添加元素

一只萌萌小番薯 2023-08-05 21:15:10
我正在尝试使用 jQuery 构建动画,但缺少一个简单的步骤。这是我的实际代码:$('.wrapper').show('fast',function(){     $(".bs-glyphicons-list-sub").append(appendable).fadeIn('slow').delay(500).removeClass('attivo'); });appendable是li添加到 的元素.bs-glyphicons-list-sub。attivoAppendable在创建时就有类。我想要做的是使 li 元素与 attivo 类一起缓慢出现,并在半秒后仅从添加的 li 中删除该类。实际上它正试图从.bs-glyphicons-list-sub. 我怎么说:仅将其从添加的 li 元素中删除?
查看完整描述

1 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

这条线的问题


$(".bs-glyphicons-list-sub")

    .append(appendable)

    .fadeIn('slow')

    .delay(500)

    .removeClass('attivo');

是它$(".bs-glyphicons-list-sub")被链接到removeClass


最简单的解决方案是直接访问该项目,例如:


$(".bs-glyphicons-list-sub")

    .append(appendable)

    .fadeIn('slow')

    .delay(500);

$(appendable).removeClass('attivo');

如果appendable已经是一个jquery对象,可以“双重包装”它,但不理想,所以就只是appendable.removeClass("attivo")


另一种方法是使用.appendTo,但您仍然需要在那里进行额外的导航,例如:


appendable

    .appendTo(".bs-glyphicons-list-sub")

    .removeClass('attivo')

    .parent()

    .fadeIn('slow')

    .delay(500);

请注意,它.removeClass()不受任何动画的影响,并且会立即发生(因此.delay(500)原件中的 不执行任何操作)


查看完整回答
反对 回复 2023-08-05
  • 1 回答
  • 0 关注
  • 106 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信