Задать вопрос
@Illia_23

Как в этой функции можно заменить e.path[4] чтобы код был кроссбраузерным?

let scrollBtn = {
	start: function(){
		let that = this;
		document.addEventListener('click', function(e){
			that.scroll(e)
		})
	}, 

	scroll: function(e){
		if(e.target.classList.contains('bottom_scroll')){
			let parentElement = e.path[4];
			let elementPlace = parentElement.getClientRects();
			let coordinateY = elementPlace[0].y;
			let elementHeight = elementPlace[0].height;
			let curentScroll = window.pageYOffset; 
			let scrollDistance = curentScroll + elementHeight + coordinateY;
			let timer = setInterval(scroll, 1);
			function scroll() {
				window.scrollTo(0, curentScroll);
				curentScroll += 5;
				if(curentScroll > scrollDistance -5){
					window.scrollTo(0, scrollDistance);
					clearInterval(timer);
				}
			}
		} else if(e.target.classList.contains('top_scroll')){
			let timer = setInterval(scroll, 1);
			let curentScroll = window.pageYOffset; 
			function scroll() {
				window.scrollTo(0, curentScroll);
				curentScroll -= 20;
				if(curentScroll < 20){
					clearInterval(timer);
					window.scrollTo(0, 0);
				}
			}
		} else {
			return false;
		}
	}
}
scrollBtn.start()
  • Вопрос задан
  • 19 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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