jay*_*jay 20 jquery jquery-ui delay
我希望div为fadeOut然后被删除:
$('#div').delay(1000).fadeOut(300);
$('#div').delay(1300).remove();
Run Code Online (Sandbox Code Playgroud)
不幸的是,这只是直接删除div,没有延迟.为什么我无法将删除操作延迟?有什么解决方案?
谢谢
Roc*_*mat 39
如果你希望在淡化完成后删除元素,你可以使用fadeOut回调参数.
$('#div').delay(1000).fadeOut(300, function(){
$(this).remove();
});
Run Code Online (Sandbox Code Playgroud)
.delay()仅适用于通过动画队列的方法.因此,它适用于.fadeOut()(动画),但不适用.remove()(不是动画).
为了向您展示这是多么专业,这不会延迟:
$('#div').delay(1000).hide();
Run Code Online (Sandbox Code Playgroud)
但是,这样做:
$('#div').delay(1000).hide(1);
Run Code Online (Sandbox Code Playgroud)
在hide方法上设置一个持续时间会将其转换为动画,然后使用动画队列,然后使用动画队列.delay().
要延迟删除项目,您可以使用以下setTimeout()呼叫:
setTimeout(function() {
$('#div').remove();
}, 1300);
Run Code Online (Sandbox Code Playgroud)
或者有点棘手并在动画上使用完成函数,如下所示:
$('#div').delay(1000).hide(1, function() {
$(this).remove();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9309 次 |
| 最近记录: |