Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.04.2013, 14:05
Новичок на форуме
Отправить личное сообщение для teremok Посмотреть профиль Найти все сообщения от teremok
 
Регистрация: 15.04.2013
Сообщений: 2

События при scroll (Помогите как упростить)
Люди подскажите как лучше писать и не путать мозги. На странице при скролле в определенных моментах(ну сколько отскролили) вызываются события анимации 1-го элемента. Я обычно пишу код так:

var sto=$(window).height();
$(window).scroll(function() {
		var ofi2=$('.two p').eq(0).offset();
		var ofi3=$('.tree').offset();
		var ofi4=$('.four').offset();
		if(ofi2.top<$(this).scrollTop()+sto) {
			$('.seps span').stop().animate({top:'492px'}, 900);
		};
		if(ofi3.top<$(this).scrollTop()+sto) {
			$('.seps span').stop().animate({top:'692px'}, 900);
		}
		if(ofi4.top+150<$(this).scrollTop()+sto) {
			$('.seps span').stop().animate({top:'871px'}, 900);
		}
	});

То есть я получаю какуе-то высоту от элемента и как доскролим до него будет какой-то эффект. Проблема в том что эти высоты конфликтуют между собой. То есть если самая большая высота подходит под правило то и сама нижняя тоже подойдет!!! Получается полная путаница и пока дойдет до работоспособного эффекта то весь мозг сломаю. И так в каждом проекте где есть такие запросы по скроллу.

Скажите как лучше такое писать? Может есть какая то библиотека? Как лучше?

Спасибо большое!
Ответить с цитированием
  #2 (permalink)  
Старый 29.04.2013, 08:35
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от teremok
Скажите как лучше такое писать?
На такое лучше сделать нормальный тестовый пример и написать что хотел бы получить...
Ответить с цитированием
  #3 (permalink)  
Старый 29.04.2013, 12:59
Аватар для bret
Кандидат Javascript-наук
Отправить личное сообщение для bret Посмотреть профиль Найти все сообщения от bret
 
Регистрация: 04.10.2008
Сообщений: 128

1) Используйте if/else для того, чтобы срабатывала только одна анимация
2) Производите дополнительно проверку нахождения в области видимости анимируемых элементов и, соответственно, анимируйте только видимые
Без примера действительно трудно сказать что-то конкретное
__________________
я подыскиваю мозг... твой подойдёт
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите упростить функцию bratkovsky Общие вопросы Javascript 7 28.07.2012 18:14
Как в ВKонтакте сделано проигрывание при серфинге? iMichaeli7 Элементы интерфейса 9 18.05.2011 17:47
Помогите вынести обработчик события в функцию. prowoke Events/DOM/Window 3 25.03.2011 00:55
Как сделать, чтобы при наведении на кнопку справа от нее появлялись текстовые ссылки? Tass Общие вопросы Javascript 7 17.02.2011 09:06
Как сделать? При выходе мышкой за пределы окна браузера, начинает грузится другая стр alb Events/DOM/Window 13 01.09.2010 12:19