2015-11-09 2 views
-1

Я запускаю набор анимаций, когда пользователь прокручивает вниз по сайту (используя обратный вызов afterMove от onepage-scroll), и при анимации некоторых элементов неожиданно одна и та же функция вызывается несколько раз.jQuery Анимация: Callback Called Twice

Используя это, у меня нет проблемы:

base = $('section[data-index="' + index + '"]'); 
base.find('h1').animate({opacity: 0.1}, 3000); 
console.log('Finished #' + index); 

И у меня есть правильный вывод на консоль после перехода в раздел № 3.

Finished #2 
Finished #3 

Но когда я пытаюсь использовать форму, например,

base.find('#my-form-id').animate({opacity: 0.1}, 3000); 

это выход:

Finished #2 
Finished #3 
Finished #2 
Finished #3 

Последние два бревна регистрируются только тогда, когда анимация заканчивается.

В чем причина этого поведения?

+1

Вы должны опубликовать код, показывающий, как вы «пытаетесь использовать форму» – thanksd

+0

@thanksd. Вы правы, я должен был уточнить. –

+1

Вы также должны опубликовать свои функции и вызовы событий, так как это проблема, которая, скорее всего, будет – Adjit

ответ

0

На самом деле, я искал не в том месте.

Настоящая проблема заключалась в том, что я стилизовал элемент с помощью перехода непрозрачности CSS3. Когда я попытался применить любое другое действие к тому же элементу, который использовал бы те же атрибуты, у меня была эта проблема.

Кажется, что они не играют хорошо вместе.