Задать вопрос
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");
		}
	});
  • Вопрос задан
  • 440 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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);
}


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

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

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