Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как поменять класс элемента если он покидает видимую область стр (https://javascript.ru/forum/events/63820-kak-pomenyat-klass-ehlementa-esli-pokidaet-vidimuyu-oblast-str.html)

mitrich38 01.07.2016 14:48

Как поменять класс элемента если он покидает видимую область стр
 
Подскажите пож-та, как поменять класс, когда элемент покидает видимую область страницы?
Сейчас понял как поменять при прокрутке на определенное кол-во пикселей, но так как элементов много, то этот способ не работает;
:cray: :cray: :cray:

https://jsfiddle.net/eq948/14/

mitrich38 01.07.2016 15:31

Возможно как то так нужно делать - но не работает((
https://jsfiddle.net/eq948/16/

Viral 01.07.2016 15:42

mitrich38, например, так: https://jsfiddle.net/eq948/17/

mitrich38 01.07.2016 15:50

Супер, спасибо!
а как сделать " //тут можно изменить блок обратно, если он появился"?

Viral 01.07.2016 15:51

mitrich38, $(this).removeClass('класс'), например

mitrich38 01.07.2016 15:57

Спасибо!!!!

mitrich38 01.07.2016 16:01

а вот а что обратил внимание, эта функция работает только если элемент покидает сверху, а если прокрутить вниз то не работает

if(scroll > ($(this).offset().bottom + $(this).height())) {
так?

Viral 01.07.2016 16:11

mitrich38, https://jsfiddle.net/eq948/18/

mitrich38 01.07.2016 17:33

Спасибо!!! То что нужно!

mitrich38 02.07.2016 11:36

А вот попробовал этот способ прикрутить к ProgressBar.js - не работатет
http://jsfiddle.net/a1osxLdj/32/

Подскажите, где ошибся?
Опыт у меня совсем маленький, прошу понять и простить)))

Rasy 02.07.2016 12:13

Цитата:

Сообщение от mitrich38
Подскажите, где ошибся?

В параметре для контейнера передается идентификатор элемента, а не класс.
http://progressbarjs.readthedocs.io/...tainer-options

mitrich38 02.07.2016 13:38

Без разницы(( добавил атр и не работает, хотя сам атр добавляется
http://jsfiddle.net/a1osxLdj/34/

И еще вопрос, сам атр/класс добавляется только при скроле, а если элемент уже на экране но пока не скролишь он остается с прежним атр/класс, видимо тут поможет это решение, но не уверен что оно корректное
http://jsfiddle.net/a1osxLdj/35/


Часовой пояс GMT +3, время: 00:20.