HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist

Как сделать изменение положение элемента (с помощью jQuery) относительно другого элемента при скроллинге?

Коллеги, буксую.

1. Есть кнопочка "наверх", которая по умолчанию скрыта, а когда пользователь проскроллил уже более Х пикселей - она появляется. С этим ок.
2. Поскольку она имеет свойство position: fiixed, то при достижении конца страницы, она перекрывает собой копирайт в футере. Соответственно, проверяем, если доскроллили до футера - приподнимаем кнопку вверх. С этим тоже все ок.
3. Когда пользователь начинает скроллить обратно вверх и футер уходит - необходимо кнопку вернуть на прежнее место. Вот с этим никак не получается.

Код тут: jsfiddle.net/vEfDS/2

В коде закомментирована строчка, которая по логике должна возвращать кнопку на место. Не работает оно так вообще. Что я делаю не так?
  • Вопрос задан
  • 3819 просмотров
Решения вопроса 1
iiil
@iiil
Инженер и вэб-дизайнер, рисую.
jsfiddle.net/iiil/vEfDS/5
Проблема думаю в том, что у Вас скролл срабатывает очень много раз, сами должны понимать. И каждый раз Вы велите анимировать позицию кнопки.
Я сделал Вам вариант с css анимацией. В старых браузерах тоже будет работать, но кнопка будет менять позицию моментально.
Что касается названия переменных, уж извините, но надоело переписывать все Ваши длинные словеса, заменил на сокращения. Если надо - поменяйте обратно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы