Задать вопрос
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");
		}
	});
  • Вопрос задан
  • 433 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 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);
}


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

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

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