如何在 for 循环完成所有交互之前停止警报功能的运行?
$(document).ready(function() {
for (i = 1; i <= 8; i++) {
$('#ponyDiv').animate({left: '200px'}, 2000);
}
alert("here");
});
如何在 for 循环完成所有交互之前停止警报功能的运行?
$(document).ready(function() {
for (i = 1; i <= 8; i++) {
$('#ponyDiv').animate({left: '200px'}, 2000);
}
alert("here");
});
编辑:在循环中调用 animate() 时,您可以执行以下操作:
$(document).ready(function () {
var completed = 0;
for (i = 1; i <= 8; i++) {
$('#ponyDiv'+i).animate({
left: '200px'
}, 200, function () {
if (completed++ == 7) alert("here");
});
}
});
使用将在动画完成后立即调用的JQuery animate() '完成' 回调:
$('#ponyDiv').animate({left: '200px'}, 2000, function() {
alert('here');
});
这将在循环完成时发出警报(而不是在最终动画完成时)。
$(document).ready(function() {
for (i = 1; i <= 8; i++) {
$('#ponyDiv' + i).animate({left: '200px'}, 2000);
if(i === 8){
alert("here");
}
}
});
使用延迟:
$.when($('[id^=pony]').animate({left:'200px'},2000))
.then(function() { alert('done'); });
当然,使用类比以 id 开头的属性要好,但你明白了它的要点。