как дождаться выполнения строки в Javascript?

#javascript #jquery

#javascript #jquery

Вопрос:

 $("#div_id").click(function() {
    $(this).effect("shake", { times:3 }, 300);
    // Here I want wait that the div_id can complete its shake
    alert('hello');
  }
  

.delay Я пробовал, но это не работает.

Комментарии:

1. Вам нужно использовать обратный вызов .

Ответ №1:

 $(this).effect("shake", { times:3 }, 300, function() {

    // this will alert once the animation has completed
    alert('hello');
});
  

Ответ №2:

Если вы используете jQuery UI, вы должны просто иметь возможность добавить обратный вызов в качестве 4-го параметра.

Смотрите: http://jqueryui.com/demos/effect /

 $("#div_id").click(function() {
    $(this).effect("shake", { times:3 }, 300, function(){
        alert('hello');
    });
}
  

Ответ №3:

 $(this).effect("shake", { times:3 }, 300, function() {
   alert('hello');
});