@tereshock98

Как получить положение скролла страницы, зависящее от определенного блока?

У нас есть страница
Где-то в середине есть блок

Как сделать так, чтобы при достижении этого блока высчитывался процент видимости блока?

То есть:
Мы листаем страницу. При достижении этого блока начинается просчет, насколько виден этот блок в процентном соотношении. И так от 0 до 100%, то есть до конца блока

Пример:
На странице есть блок высотой 1000px. Когда мы пролистываем этот блок, проигрывается анимация Canvas, которая зависит от процентов скролла
  • Вопрос задан
  • 37 просмотров
Решения вопроса 1
@tereshock98 Автор вопроса
Да, дилетантски, но получилось

var blockOffset = parseInt( $('.services__list').offset().top ),
			blockHeight = parseInt( $('.services__list').height() ),
			windowHeight = parseInt( $(window).height() ),
			blockWindow = blockHeight + windowHeight,
			blockHeightOffset = parseInt( blockOffset + blockHeight ),
			blockEnd = parseInt( blockHeightOffset + 0 )
			halfBlock = parseInt( blockHeight / 2 ),
			blockPercent1 = blockHeight / 100,
			scrollTop = parseInt( $(window).scrollTop() ),
			otherBlockOffset = parseInt( blockOffset - ( blockWindow - blockHeight ) )
			diff = blockHeightOffset - scrollTop;

		if ( scrollTop < blockHeightOffset && scrollTop > otherBlockOffset ) {
			console.log( 1 / ( ( blockHeightOffset - otherBlockOffset ) / diff) );
		}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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