Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Мне кажется или в jquery алгоритм не работает?

Rainy Way Знаток (472), закрыт 4 года назад
У меня есть слайдер, а в нём текст, я хочу, чтобы этот текст сначала исчез, потом сработал код, который перемещает слайдер влево и появился бы другой текст.

вот мой код в jQuery:
$(function () {
var btnR = $('.content__btnR'); //Это кнопка которая сдвигает слайдер влево
var btnL = $('.content__btnL'); //это кнопка которая сдвигает слайдер вправо

На буквы R и L в конце btn означают расположение кнопок на экране, то есть btnR - Кнопка справа

btnR.click(function() {
$('.content-text__slides').stop().fadeOut(0); // вот строка, которая скрывает текст
$('.content-text__slides').css({ // тут он сдвигается
left: '-900px',
transition: 'left .5s'
}); // end css str 6
$('.content-text__slides').stop().fadeIn(1500); // тут появляется
}); // но проблема в том, что fadeOut и css срабатывают одновременно. Текст не успевает исчезнуть, как уже идёт перемещение каретки влево.

btnL.click(function() {
$('.content-text__slides').stop().fadeOut(0);
$('.content-text__slides').css({
left: '0px'
}); // end css str 6
$('.content-text__slides').stop().fadeIn(1500);
});
}); // end func str 1
Лучший ответ
Turbo Research Мастер (1012) 4 года назад
все там работает как принято, это ты книжки не читал и не знаешь что в js кругом каллбеки и асинхронность

у fadeOut есть каллбек чтобы дождаться его окончания
а вот у css ничего нет
попробуй api.jquery.com/animate/ или ставь setTimeout (костыль)
Rainy WayЗнаток (472) 4 года назад
Спасибо, учту. А вот книгу читал, только из-за плохой памяти усвоил мало.
Turbo Research Мастер (1012) памяти? надо не зубрить, а обдумывать. извлекать смысл без лишних деталей. будет нормально храниться в памяти. это как jpeg vs bmp
Остальные ответы
Сергей Жаков Мудрец (16208) 4 года назад
можешь воспользоваться задержкой пере выполнением слекдущих событий
$().delay()
http://jquery.page2page.ru/index.php5/Эффекты

Выполняет анимацию, которая была создана пользователем.
.queue()

Предоставляет/изменяет (в зависимости от параметров) очередь функций.
.clearQueue()

Очищает очередь функций.
.dequeue()

Начинает выполнение следующей функции в очереди.
.stop()

Останавливает выполнение текущей анимации.
.delay()

Приостанавливает выполнение следующих анимаций на заданное время.
.toggle()

Поочередно выполняет вызов одной из нескольких заданных функций.
jQuery.fx.interval

Содержит временной промежуток между кадрами анимации.
jQuery.fx.off

Отменяет выполнение всех анимаций.
Похожие вопросы