Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 删除li:首先向上设置列表其余部分的动画,同时更改不透明度_Jquery_Jquery Animate_Opacity - Fatal编程技术网

Jquery 删除li:首先向上设置列表其余部分的动画,同时更改不透明度

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'); }); $(

在阅读了jq之后,我的问题仍然在这里。 我将重新措辞这个问题。。也许我会得到更多的回应;)

我试图在一个UL中的不同元素上同时运行两个动画

删除第一行,设置其余行的动画,同时更改不透明度

到目前为止,我得到了这个:

$('#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转换提供了一个迎头赶上的机会

参考资料:


这并不是我想要的(可能是因为我提出这个问题的方式,哈哈),但我已经找到了足够的线索来解决它:)谢谢你的回答!