[英]Animate (this) nextAll parents with jquery?
单击某个元素后,我正在尝试为该元素的所有父项设置动画。
我尝试了以下几种迭代:
$(this).parent().nextAll().animate({
marginTop: '-=50px'
}, 500);
但是我不认为语法正确...
父元素有一个“ .useritem”类,我有一种必须使用的感觉,但是我不确定在我认为指定父项>此项目>所有之后>向上移动50像素的地方工作。
任何帮助,指导或建议都会走很长一段路,谢谢。
编辑1:HTML
我的HTML是根据服务器响应动态创建的。 它看起来像这样:
<div id='useritem' class='useritem'>
<div id='msgnotification' class='msgnotification'>0</div>
<img id='userimg' class='userimg' src='data/here'>
<div id='usertxt' class='usertxt'>
<div id='name' class='name'>User</div>
<div id='username' class='username'></div>
</div>
<div id='useradd' class='useradd'><i class='fa fa-user-plus'></i></div>
</div>
这些堆叠有很多倍,当用户单击“ useradd”时,其宽度设置为0,并且marginTop代码应在其下的每个“ useritem”上触发。
谢谢您的输入,也感谢@Barmar指出我的代码/应该/已经工作了,我再次进行了遍历,意识到我出了问题。 我已经将marginTop代码包装到一个超时中,以等待初始单击的父元素的动画宽度设置为0。但是,当您再次尝试调用“ this”时,该元素不在那里,因此代码没有没有初始选择器。
我改用.delay()修复了这个问题。 现在,我的初始代码可以正常工作了!
再次感谢您的投入和时间。 这是更新的代码:
$(this).parent().animate({
'width': 0,
'padding-left': 0,
'padding-right': 0
}, 300, function() {
$(this).next().animate({
marginTop: '-=61px'
}, 300);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.