Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.03.2014, 06:25
Новичок на форуме
Отправить личное сообщение для patriot94 Посмотреть профиль Найти все сообщения от patriot94
 
Регистрация: 12.02.2014
Сообщений: 4

Добавление класса элементу при прокрутке к этому элементу
Доброго времени суток!

Нужна помощь! Нужно добавлять класс элементу при прокрутке к нему. То есть есть элемент, например с классом title, нужно что бы когда юзер докручивал сайт до него, автоматом добавлялся бы еще один класс. Хочу реализовать таким способом вызов анимации!

Очень надеюсь на вашу помощь!
Ответить с цитированием
  #2 (permalink)  
Старый 17.03.2014, 08:52
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

function getOffsetTop(self) {
	var y = 0;
	if(self.offsetParent) while (true) {
		y += self.offsetTop;
		if(!self.offsetParent) break;
		self = self.offsetParent;
	}
	else if(self.y) y += self.y;
	return y;
}

var elem = document.querySelector('.title'),
	elemPosTop = getOffsetTop(elem);

window.onscroll = function() {
	if((this.scrollTop || document.documentElement.scrollTop) == elemPosTop) {
		elem.classList.add('new-class');
		this.onscroll = null;
	}
}


Как-то так.
Ответить с цитированием
  #3 (permalink)  
Старый 17.03.2014, 21:17
Новичок на форуме
Отправить личное сообщение для patriot94 Посмотреть профиль Найти все сообщения от patriot94
 
Регистрация: 12.02.2014
Сообщений: 4

Не работает( Есть еще варианты?
Ответить с цитированием
  #4 (permalink)  
Старый 18.03.2014, 10:04
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

http://learn.javascript.ru/play/QdqvZ
Ответить с цитированием
  #5 (permalink)  
Старый 18.03.2014, 11:14
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Функции для определения координат взял из учебника Ильи:
http://learn.javascript.ru/play/MPGTzb
Работает только для вертикально прокрутки, для горизонтальной делается аналогично.

Последний раз редактировалось jsnb, 18.03.2014 в 11:27.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дерганье div-а при прокрутке Vreditel Events/DOM/Window 2 04.03.2011 08:07
Изменение класса в <div> при нажатии на него... xmartinesx Общие вопросы Javascript 2 08.10.2010 10:57
Добавление элементов при нажатии frolvict Общие вопросы Javascript 16 06.04.2010 19:56
Добавление класса на елемент по id при фокусе на input Andrew_tl Events/DOM/Window 1 18.02.2010 19:09
Добавление стилей к вновь созданному элементу alexeews Общие вопросы Javascript 4 29.09.2008 01:40