2012-03-07 3 views
0

У меня возникли проблемы с положением элемента, потому что моя анимация длинная и $ (this) .position(). Top вычисляется слишком рано.jQuery animate - получить будущую позицию элемента

Как я могу получить значение будущей позиции элемента до того, как оно оживит эту позицию?

+1

Возьмите текущую позицию и добавьте значение настройки, которое вы отправляете на вызов '.animate'? –

+0

Будущее положение не является конечным значением, оно всегда отличается. В этом случае это аккордеон с текстом. – Collin

ответ

1

Это не то, что вы хотите. Вы хотите получить позицию элемента ПОСЛЕ завершения анимации. Вам нужно добавить функцию обратного вызова в вашу анимацию и вызвать позицию внутри этой функции обратного вызова. Здесь вы найдете ->

$("whatever").animate({ 
    //do stuff for animation 
}, 'delay', function(){ 
    //our animation has completed, this is our callback function. 
    //we can now successfully get our position. 
    $(this).position().top 
}); 

Надеюсь, это поможет!

  • Также

Пожалуйста, обратите внимание улучшения вашего принять рейтинг, 20% либо означает, что ваши вопросы плохо отформатирован, или вы не следуете принципам сообщества. Пожалуйста, прочтите FAQ, чтобы понять, взаимодействуя с

stackoverflow.com

https://stackoverflow.com/faq

  • Примечание стороны:

Вы также получите значок 'Analytical' для чтения весь FAQ. Я очень рекомендую это.

+0

Мне не нужна позиция элемента после завершения анимации. Мне нужно конечное положение элемента перед началом анимации. P.S. Мои вопросы плохо отформатированы благодаря. Я довольно новичок в этом, и у меня нет терминологии. Если я не получаю ответ, который работает, но он полезен, я нажимаю стрелку вверх, давая им +1. – Collin

+0

Нет проблем. Полагаю, мне трудно понять, в чем проблема. $ (this) .position(). top даст вам маржу, которую вы от ближайшего контейнера, у которого есть позиция: relative (ближайший «смещенный родитель») на нем. Это то, что вы хотите? Или вам нужна позиция относительно документа? окно? – Ohgodwhy

Смежные вопросы