Javascript.RU

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

Помогите со скроллингом
На сайте http://juliapetit.com.br при прокрутке постов используется красивый эффект, который я давно хотел применить, но не знал как реализовать. При прокрутке вниз к следующему посту предыдущий пост постепенно становится невидимым, причём прокрутка постов происходит с разной скоростью. Пожалуйста, подскажите как прикрутить этот эффект к своему сайту.
Ответить с цитированием
  #2 (permalink)  
Старый 01.09.2012, 13:14
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Принцип :
1. При cкроле контролируется нижний край сообщения - если он в пределаx видимости и отстоит выше 30% высоты экрана - сообщение переводится в position:fixed; и придаётся новый класс Opacity
и отслеживается отступ верхнего края следующего сообщения от верхнего края экрана.

2. % Отступа верхнего края следующего сообщения - явлется коэффициентом прозрачности к предыдущему(c классом Opacity
Ответить с цитированием
  #3 (permalink)  
Старый 01.09.2012, 13:39
Новичок на форуме
Отправить личное сообщение для uasil Посмотреть профиль Найти все сообщения от uasil
 
Регистрация: 01.09.2012
Сообщений: 4

Спасибо, принцип понятен, но я чайник в javascript и надеюсь на подсказку как бы прикрутить готовый скрипт. Как я понимаю, часть скрипта, ответственная за этот эффект, находится где-то здесь: http://juliapetit.com.br/wp-content/...s.js?ver=3.3.1
Ответить с цитированием
  #4 (permalink)  
Старый 01.09.2012, 22:56
Новичок на форуме
Отправить личное сообщение для uasil Посмотреть профиль Найти все сообщения от uasil
 
Регистрация: 01.09.2012
Сообщений: 4

Помогите, кто-нибудь, пожалуйста
Ответить с цитированием
  #5 (permalink)  
Старый 02.09.2012, 12:29
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

скорей всего не лучший вариант
<style>
	div {
		height: 200px;
	}
</style>


<div class="op" style="background: red"></div>
<div class="op" style="background: green"></div>
<div class="op" style="background: blue"></div>
<div class="op" style="background: red"></div>
<div class="op" style="background: green"></div>
<div class="op" style="background: blue"></div>

<script>
window.onload = function () {
	if (!document.getElementsByClassName) {
		document.getElementsByClassName = function (className) {
			var elems = document.getElementsByTagName('*');
			var len = elems.length;
			var mas = [];
			for (var i = 0; i < len; i++) {
				if (elems[i].className == className) {
					mas.push(elems[i]);
				}
			}
			return mas;
		}
	}
	var elems = document.getElementsByClassName('op');
	var len = elems.length;
	var h;
	
	window.onscroll = function () {
		for (var i = 0; i < len; i++) {
			h = parseInt(elems[i].getBoundingClientRect().bottom);
			if (h < 0) {
					h = 0;
				}
				elems[i].style.opacity = h/200;
				elems[i].style.filter = 'alpha(opacity=' + h/2 + ')';
			} 
	}
}
</script>
Ответить с цитированием
  #6 (permalink)  
Старый 02.09.2012, 12:33
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

bes,
Да вообщем норма - если позицию элемента с opacity менять еще на fixed, - то поди будет в точности как в примере ( в принципе добавление двух строк - вставка и удаление свойства
Ответить с цитированием
  #7 (permalink)  
Старый 02.09.2012, 12:41
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

да, заметил, там ещё приторможенный уход
Ответить с цитированием
  #8 (permalink)  
Старый 02.09.2012, 19:24
Новичок на форуме
Отправить личное сообщение для uasil Посмотреть профиль Найти все сообщения от uasil
 
Регистрация: 01.09.2012
Сообщений: 4

bes,
спасибо большое!
Я попробовал сделать приторможенный уход через margin-bottom плюс margin-top чтобы размер окна не уменьшался, но тогда прокрутка происходит у меня не очень плавно. Да и обойдусь без этого.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с наследованием develka Общие вопросы Javascript 1 06.06.2012 09:50
Помогите со скроллингом, плиз konan Общие вопросы Javascript 11 03.01.2012 14:45
Помогите с replace! faforty Общие вопросы Javascript 2 28.08.2011 13:10
Помогите разобраться!!! Greendumb Общие вопросы Javascript 8 19.08.2010 14:04
Помогите! Многоуровневые вкладки! sergeeeeee Элементы интерфейса 2 02.08.2010 23:50