Перевірте цей код :
<a href="#" id="link">Link</a>
<span>Moving</span>
$('#link').click(function () {
console.log("Enter");
$('#link').animate({ width: 200 }, 2000, function() {
console.log("finished");
});
console.log("Exit");
});
Як ви бачите на консолі, функція "anime" є асинхронною, і вона "розщеплює" потік блоку коду обробника подій. Фактично :
$('#link').click(function () {
console.log("Enter");
asyncFunct();
console.log("Exit");
});
function asyncFunct() {
console.log("finished");
}
слідкуйте за потоком блочного коду!
Якщо я хочу створити свою function asyncFunct() { }
поведінку, як це зробити за допомогою JavaScript / jquery? Я думаю , що є стратегія без використання setTimeout()