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


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

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

Войти через центр авторизации
Похожие вопросы