Javascript 仅针对动画链的一部分中添加的元素
我试图用jQuery构建一个动画,但我错过了一个简单的步骤。 这是我的实际代码:Javascript 仅针对动画链的一部分中添加的元素,javascript,jquery,jquery-animate,Javascript,Jquery,Jquery Animate,我试图用jQuery构建一个动画,但我错过了一个简单的步骤。 这是我的实际代码: $('.wrapper').show('fast',function(){ $(".bs-glyphicons-list-sub").append(appendable).fadeIn('slow').delay(500).removeClass('attivo'); }); appendeable是添加到.bs glyph图标列表子项中的li元素。appendeable在创建时具有类
$('.wrapper').show('fast',function(){
$(".bs-glyphicons-list-sub").append(appendable).fadeIn('slow').delay(500).removeClass('attivo');
});
appendeable
是添加到.bs glyph图标列表子项中的li
元素。appendeable在创建时具有类attivo
。
我想做的是使li元素在类attivo中缓慢出现,半秒钟后仅从添加的li中删除该类。
实际上,它正试图从.bs glyphicons列表子项中删除该类。如何说:仅从添加的li元素中删除它?此行的问题
$(".bs-glyphicons-list-sub")
.append(appendable)
.fadeIn('slow')
.delay(500)
.removeClass('attivo');
是链接到removeClass的$(“.bs glyphicons list sub”)
最简单的解决方案是直接访问项目,例如:
$(".bs-glyphicons-list-sub")
.append(appendable)
.fadeIn('slow')
.delay(500);
$(appendable).removeClass('attivo');
如果appendeable
已经是一个jquery对象,可以“双重包装”它,但这并不理想,所以应该是appendeable.removeClass(“attivo”)
另一种选择是使用.appendTo
,但您仍然需要在其中添加一个额外的导航,例如:
appendable
.appendTo(".bs-glyphicons-list-sub")
.removeClass('attivo')
.parent()
.fadeIn('slow')
.delay(500);
请注意,.removeClass()
不受任何动画的影响,并且会立即发生(因此,原始版本中的.delay(500)
没有任何作用)最简单的解决方案是在附加yes后找到attivo项,但在同一ul上,还有其他li元素必须保持attivo类。这就是为什么我希望只针对这个元素。感谢关于removeClass的提示,我不知道!:-)如果动画不影响remove类,则可以直接使用.removeClass,并根据上面的注释进行更新。