Есть ли способ назначить обратный вызов до того, как анимация затухания произойдет в fadeToggle? Я настраиваю положение прокрутки и хотел бы настроить его до появления объекта, а не после.
Обратный вызов fadeToggle jQuery до, а не после
Ответы (3)
Обратный вызов дает вам возможность выполнить что-то после завершения данного действия. Если вам нужно что-то сделать перед операцией (затухание), просто сделайте это перед вызовом самой функции.
подойдет ли вам переопределение fadeToggle
? если да, то нажмите на ссылку ниже :)
Все, что вам нужно сделать, это вызвать вашу функцию или запустить любой код сразу после fadeToggle:
element.fadeToggle('fast');
element.scrollTop(300);
Это немедленно установит положение прокрутки, после чего последует эффект затухания.
Вот что конкретно у меня было: visible и hidden — это элементы, которые я только что назвал vars.
visible.fadeToggle('fast', function() {
hidden.fadeToggle('fast');
hidden.scrollTop(top_value);
});
Когда visible скрыто, вызывается обратный вызов, и скрытый элемент становится видимым. Позиция прокрутки устанавливается сразу после этого, поэтому вы видите изменение до того, как исчезновение завершится. Таким образом, вы получите плавное затухание и сохраните положение прокрутки обоих элементов одинаковым.