Выполнение по порядку
$("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();
|
фиг там, появляецо ок, а убераецо половина, другая улетает куда-то6 всё пропадает, новое не появляется.
|
| Часовой пояс GMT +3, время: 02:32. |