以下代码旨在将过程应用于单击容器之前和之后的所有容器子元素。它在某种程度上被打破了。我从未使用过nextAll或prevAll,所以它可能与编码错误有关。
$('.bounceholder ul').prevAll().each(function(){
$(this + ' li').each(function(){
$(this).animate({left: -200, top:-8, leaveTransforms:true}, 600);
});
});
$('.bounceholder ul').nextAll().each(function(){
$(this + ' li').each(function(){
$(this).animate({left: +1000, top:-8, leaveTransforms:true}, 600);
});
});
问题在哪里
答案 0 :(得分:1)
试试这个:
$('.bounceholder ul').prevAll().each(function() {
$('li', this).animate({left: -200, top:-8, leaveTransforms:true}, 600);
});
$('.bounceholder ul').nextAll().each(function(){
$('li', this).animate({left: +1000, top:-8, leaveTransforms:true}, 600);
});
答案 1 :(得分:0)
已经给出了一个很好的答案(使用this
作为上下文而不是尝试将其与字符串li
连接起来),但您可以使用siblings
作为更短的替代方案:< / p>
$('.bounceholder ul').siblings().each(function() {
$('li', this).animate({left: -200, top:-8, leaveTransforms:true}, 600);
});
当prevAll
返回所有前面的兄弟节点,并且nextAll
返回所选元素的所有以下兄弟节点时,siblings
应该提供完全相同的功能,但只需要一个代码块