Jquery 删除li:首先向上设置列表其余部分的动画,同时更改不透明度
在阅读了jq之后,我的问题仍然在这里。 我将重新措辞这个问题。。也许我会得到更多的回应;) 我试图在一个UL中的不同元素上同时运行两个动画 删除第一行,设置其余行的动画,同时更改不透明度 到目前为止,我得到了这个:Jquery 删除li:首先向上设置列表其余部分的动画,同时更改不透明度,jquery,jquery-animate,opacity,Jquery,Jquery Animate,Opacity,在阅读了jq之后,我的问题仍然在这里。 我将重新措辞这个问题。。也许我会得到更多的回应;) 我试图在一个UL中的不同元素上同时运行两个动画 删除第一行,设置其余行的动画,同时更改不透明度 到目前为止,我得到了这个: $('#NextUp li:first').slideUp( 500 , function() { $('#NextUp li:first').remove(); $('#NextUp li:first').attr('id', 'regel1'); }); $(
$('#NextUp li:first').slideUp( 500 , function() {
$('#NextUp li:first').remove();
$('#NextUp li:first').attr('id', 'regel1');
});
$( ".t > li" ).each(function( intIndex ){
var i = 1 - ($('li').index ($(this))/5) ;
$(this).next().animate({ opacity: i }, {duration: 500, queue: false})
});
导致两个动画相继出现
我试图将幻灯片更改为使用动画,但它不想完成。(即,动画在未删除完成行之前停止)
如何同时运行这两个动画?这里有一种方法:
function fadeaway(el) {
if (!el) {
return false;
}
else {
el.animate({'height' : 0}, 1000,
function(){
$(this).remove();
fadeaway($('ul.next_up > li:first'));
});
}
}
fadeaway($('ul.next_up > li:first'));
这会将传入元素的高度设置为零,在回调中删除该元素,然后再次调用该函数以对下一个元素执行操作
修订上述守则:
function fadeaway(el) {
if (!el) {
return false;
}
else {
el.delay(500).animate({'height' : 0}, 1000,
function(){
var next = $(this).next();
$(this).remove();
fadeaway(next);
});
}
}
fadeaway($('ul.next_up > li:first'));
这与上面的操作大致相同,但在动画之间提供了一个延迟(500毫秒),并允许函数计算出下一个兄弟姐妹应该是什么,而不是显式地硬编码它
此外,在这种方法中,它为CSS转换提供了一个迎头赶上的机会
参考资料: