我尝试使用序列和特定延迟进行数字工作。我编写了这段代码。我在页面中使用了jquery UI。
$('#messageDelete').delay(100).toggle("blind");
$('#messageDelete').delay(900).toggle("blind");
$('#parentProgress').delay(1000).toggle("fade").remove();
此代码目前在html页面中有效,但在我的项目(MVC)中没有使用延迟。请咨询。
答案 0 :(得分:1)
.delay()
仅适用于使用jQuery动画队列的方法,例如动画,因为它通过在队列中插入延迟动画来工作,所以等待它的唯一事物是动画队列中的其他东西。它不适用于常规jQuery方法,因为它们只是立即执行evne虽然在动画队列中有一个延迟。
要实际延迟,您只需使用常规setTimeout()
。
setTimeout(function() {
$('#messageDelete').toggle("blind");
}, 100);
setTimeout(function() {
$('#messageDelete').toggle("blind");
}, 900);
setTimeout(function() {
$('#parentProgress').toggle("fade").remove();
}, 1000);
其他相关答案:Jquery delay function not working和jQuery: code stops working after adding delay() and removeClass()以及jQuery within a JavaScript for loop not working
答案 1 :(得分:-1)
我也有这种困境。你试过把它们放到一行吗?我不认为jQuery可以同时做多个延迟。
试试这个: (也许请给我们一些更多的代码)
$('#messageDelete').delay(100).toggle("blind").('#messageDelete').delay(900).toggle("blind").('#parentProgress').delay(1000).toggle("fade").remove();