2012-02-27 3 views
1

Я хочу, чтобы один DIV исчезать, для их, чтобы затем небольшая пауза, а после этого еще дел до выгорает.время задержки JQuery, кажется, неправильно

Это моя попытка, но ВЗ не Работа. Анимация fadein начинается до завершения fadeout.

$('.nav .filters').fadeOut('200'); 
    $('.nav .map-r').delay('300').fadeIn('200'); 

Что действительно странно, это работает отлично, если я делаю каждый annimation 10x больше:

$('.nav .filters').fadeOut('2000'); 
    $('.nav .map-r').delay('3000').fadeIn('2000'); 
+0

те выглядят одинаково для меня ;-) – will

+2

ли FADEOUT() принимает число в качестве аргументов вместо строковых литералов, представляющих число? Попробуйте удалить одиночные кавычки Да, одиночные кавычки предназначены только для «быстрого», «медленного» и т. П., Иначе аргумент должен быть числом без кавычек. – MrBoJangles

+0

Работает отлично для меня - просто удалите цитаты вокруг интервалов ... http: //jsfiddle.net/KskfD/ – Archer

ответ

0

как это, я думаю, это ответ, я просто скопировать и вставить мой комментарий выше:

«Does fadeOut() принимает числа как аргументы вместо строковых литералов, представляющих числа? Попробуйте удалить одинарные кавычки. Да, единственные кавычки предназначены только для «быстрого», «медленного» и т. П., Иначе аргумент должен быть числом без котировок ».

То же самое касается fadeIn() и delay() и тумблер() и т.д. Вы могли бы назвать это соглашение JQuery.

+0

Так как это принятый ответ, стоит ли остановиться? – MrBoJangles

0

Вы должны поставить FadeIn() в функции обратного вызова из fadeOut() так, что он выполняется, когда FADEOUT финиширует

$('.nav .filters').fadeOut(200, function(){ 
    $('.nav .map-r').delay(300).fadeIn(200); 
    //i'm not sure this works, if it doesn't just use setTimeout() 
    //setTimeout(function(){$('.nav .map-r').fadeIn(200)}, 300); 
}); 
+2

Вам нужно обернуть первый аргумент 'setTimeout()' в анонимную функцию или вы сразу вызовете его и попробуйте передать возвращаемое значение в качестве обратного вызова для setTimeout. – ThiefMaster

+0

@ThiefMaster да да, я исправил это, я просто не знаю, работает ли функция delay() –

0
$('.nav .filters').fadeOut(200, function(){$('.nav .map-r').delay(300).fadeIn(200);}); 
Смежные вопросы