Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » jQuery » При скролле менять/добавлять класс элементу

При скролле менять/добавлять класс элементу


     27.11.2013    jquery, jquery offset, jquery position    Все вопросы » jQuery    9077

вопрос
Есть сайт, состоящий из блоков разного цвета и блок который фиксирован.
Нужно сделать так, чтобы как только скролл подходит к началу блока, к фиксированному блоку применялось некое действие, например добавление/изменение класса.

Вот что на данный момент сделал, не получается задать условие окончания блока. Т.е есть "от куда", а "до куда" нет.
if ($window.scrollTop() > bl2.offset().top - topPadding) {
            header.css('background-color', '#8B4726');
        } else { header.css('background', '#FFE4C4'); }

P.S Данный код просто цвет меняет, но не суть.

Если подумать, то конец блока это начало + его высота, т.е так:
bl1.offset().top-topPadding+bl1.height()
, тогда как составить условие: Если скролл от начала и до конца блока, то применим...что-то и т.д Таких блоков около 6.

topPadding - высота меню.

Нужна помощь в правильном составлении условия нахождения какого-либо блока.
Под блоком я имею ввиду простой идентификатор (#id).

Буду рад любой помощи.

Ответа пока нет


2 комментария

ПафНутиЙ
Админ

ПафНутиЙ - 27 ноября 2013 18:43 -

Возможно вам нужно это: http://sandev.pro/web/41-fiksirovannoe-menyu.html ?

Каков вопрос - таков и ответ. Просто помните об этом.

xEoN
Юзер

xEoN - 27 ноября 2013 19:08 -

К сожалению не то. Меню фиксированное сделать просто.
Нужное мне реализовано тут . (Вниз листайте скролл и будет меняться цвет меню, исходя из фонового цвета блоков)
Дело в том, что там код реализации мудреный. Нужно проще. Даже не проще, а чтобы мне понятнее было.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

наверх