Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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 动画完成后,然后删除_Jquery_Animation - Fatal编程技术网

Jquery 动画完成后,然后删除

Jquery 动画完成后,然后删除,jquery,animation,Jquery,Animation,我编写了这个progressbar函数, 我有个问题 如果执行off函数,但该条仍在进行动画制作,如何等到最后一个动画制作完成,然后删除dotarget.find('.progressbar').remove() var progressbar=(函数(){ var目标=$(“#容器”); var结构=``; 变量样式={ '位置':'固定', “顶部”:“0px”, “z指数”:“10000”, “指针事件”:“无”, “宽度”:“0px”, “高度”:“3px”, “背景色”:“红色” };

我编写了这个progressbar函数,
我有个问题
如果执行off函数,但该条仍在进行动画制作,如何等到最后一个动画制作完成,然后删除do
target.find('.progressbar').remove()

var progressbar=(函数(){
var目标=$(“#容器”);
var结构=``;
变量样式={
'位置':'固定',
“顶部”:“0px”,
“z指数”:“10000”,
“指针事件”:“无”,
“宽度”:“0px”,
“高度”:“3px”,
“背景色”:“红色”
};
var重复间隔;
返回{
关于:函数(){
if(target.attr('data-progressbar')=='1'){
这个。off();
}
target.attr('data-progressbar','1');
var el=$(结构).prependTo(目标);
el.css(风格);
repeatInterval=setInterval(函数(){
el.animate({width:'100%},1000,function(){
el.css({
“宽度”:“0px”
});
});
}, 850);
},
关闭:函数(){
if(target.attr('data-progressbar')=='1'){
target.attr('data-progressbar','0');
clearInterval(repeatInterval);
//等待最后一个动画完成删除
target.find('.progressbar').remove();
}
}
};
})();
progressbar.on();
setTimeout(函数(){
progressbar.off();
}, 4000);
animate()
方法使用fx队列。然后可以使用
promise()
接口:

target.find('.progressbar').promise().done(function() {
   $(this).remove();
});

target.find('.progressbar').promise().done(function() {
   $(this).remove();
});