Выполнение по порядку
$("a[rel~='showinfo']").click(function () { var info_id = $(this).attr('id'); if($('.info_name').is(':visible')) remove_contact(); for(i=0; i<contact_status.length; i++){ if(info_id == contact_status[i]){ create_contact(i); } } $('.info_name').show("slide", {direction: "right"}, 1000); $('.info_info').show("slide", {direction: "up"}, 1000); }); function create_contact(id){ $('.third').append('<div class="showinfo"><h2 class="info_name">'+contact_name[id]+'</h2><span class="info_info">lol</span></div>') } function remove_contact() { $('.info_name').hide("slide", {direction: "right"}, 1000); $('.showinfo').remove(); } В общем как выполнить скрипт в такой последовательности:
Проблема в том, что оно тока появляется плавно, а мне надо ещё что бы и удалялось тоже плавно... Добавлено через 7 минут Да, callback не вариант, ибо в нескольких случаях добавляется сразу 2 дива и тогда ваще жопа... $('.info_name').show("slide", {direction: "right"}, 1000, function(){ $('.info_info').show("slide", {direction: "up"}, 1000); }); Тоесть info_name норм пояляется, а info_info 2 раза почему-то... |
неужеле нет никаких простых способов для реализации последовательности?
|
Цитата:
$('.info_name').show("slide", {direction: "right"}, 1000, function(){ $('.info_info*!*:hidden*/!*').show("slide", {direction: "up"}, 1000); }); |
Цитата:
http://youtu.be/pc5RfxPGVv4 |
это с Вашим кодом так, потому что анимации помещаются в очередь. Я Вам показал пример.
|
Цитата:
|
у меня ошибка была :) мозг уже спит
|
та я с ид,, просто к ид i приписывал и всё, а вот как можно передать в каллбак функцию параметр? Ща оно у меня при помощи delay, но это не выход...
$('#info_name'+i).show("slide", {direction: "right"}, 1000, function(){ $('#info_info'+i).show('slide',{direction: "up"}, 1000)}); Внутренний i почему-то равен всегда 5 - тоесть последнему элементу массива и равен именно в калбак функции. При аппенде и первом id он нормально, а в каллбак в конце |
if($('.showinfo').is(':visible')){ $('.info_info').hide('slide',{direction: "up"}, 1000, function(){ $('.info_name').hide('slide', {direction: "right"}, 1000, function(){ $('.showinfo').remove(); }); }); $('.ui-effects-wrapper').remove(); } А как вот это выполнить по порядку?
P.S. Цитата с этого сайта Код:
Писать программы, в которых результат вызова функции приходит неизвестно когда... |
$('.ui-effects-wrapper').remove(); за $('.showinfo').remove(); |
Часовой пояс GMT +3, время: 15:34. |