Задать вопрос
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");
		}
	});
  • Вопрос задан
  • 435 просмотров
Подписаться 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);
}


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

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

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