Задать вопрос
MrSteep
@MrSteep
ленивый

Как сделать кнопку вверх вниз?

Как сделать кнопку вверх вниз как на хабре (чтобы она возвращала на место где человек ее нажал) без сторонних плагинов?

P.S.
Добрался до решения сам)

HTML

<span id="scroll-to-top"></span>

CSS

#scroll-to-top{
	display: none;
	position: fixed;
	width: 50px;
	height: 50px;
	background: url(../img/arrow-up.svg) no-repeat;
	background-size: 50px;
	background-position: center;
	padding: 20px;
	bottom: 50px;
	right: 1%;
	cursor: pointer;
}


JQuery

var scrollButton = $("#scroll-to-top"),
	windowObj = $(window),
	rotate;


	scrollButton.on('click', function(){
		$(this).toggleClass("rotate-scroll-to-top");
		rotate = $(this).hasClass("rotate-scroll-to-top");
		if(rotate){
			window.ScrollPosition = $(window).scrollTop();
			window.scrollTo(0,0);
		} else {
			window.scrollTo(0, window.ScrollPosition);
		}
	});

	windowObj.scroll(function(){
		var windowScroll = windowObj.scrollTop();
		if(windowScroll > 500){
			scrollButton.removeClass("rotate-scroll-to-top");
			rotate = $(this).hasClass("rotate-scroll-to-top");
		}

		if(windowScroll > 500 || rotate){
			scrollButton.css("display", "block");
		} else {
			scrollButton.css("display", "none");
		}
	});
  • Вопрос задан
  • 445 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Stepik
    Пакет курсов JavaScript и React разработчика
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
@iwebdesigner
Пожалуй здесь не хватает вот этого:
.rotate-scroll-to-top {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}


А как сделать плавный скролл в этом примере?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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