Показать сообщение отдельно
  #7 (permalink)  
Старый 20.10.2014, 18:00
Профессор
Отправить личное сообщение для Siend Посмотреть профиль Найти все сообщения от Siend
 
Регистрация: 04.02.2012
Сообщений: 196

Вообщем я кажется запутался в свойстве queue.

Вот первая анимация:

$("#M"+i).animate( { top: (y-25)+"px", bot: (x-25)+"px"},300, function() {this.remove();});

а вот что после нее происходит далее:

$("#M"+i).animate( { top: (y-25)+"px" }, { queue:true, duration:300 } ).animate( { bot: (x-25)+"px" }, { queue:false, duration:300 } );

Но даже если я меняю на true все равно все работает криво. Я уже понял что скрипт выполняется дальше не зависимо от анимации, и походу в этом и есть мой косяк. Я удаляю элементы потому что потом будет пересоздаваться элемент с таким же именем, и видимо он просто не успевает удалится. Вообщем думаю решение такое:
var rdy=false;
$("#M"+i).animate( { top: (y-25)+"px", bot: (x-25)+"px"},300, function() {this.remove(); rdy=true;});

while(!rdy){}

и дальше уже все остальное.
Ответить с цитированием