下へスクロールするとヒョイッとでてくる「トップへ戻る」ボタンをコピペで実装しよう!
ボタンの形を複数作ったので好きなCSSをコピーして使ってね!
ではまず共通のHTMLとjQueryです。
HTML
<div class="up"> <span></span> </div>
jQuery
// 上に戻るボタンをクリックしたら
$(".up").on("click", function(){
$("html,body").animate({scrollTop:0},"slow");
});
// スクロールしたらボタンを表示
$(window).on("scroll", function() {
// スクロール量を取得
var scroll = $(window).scrollTop();
// スクロール量が600以上になったら、下から表示
if(scroll > 600) {
$(".up").css({bottom: "30px"});
} else {
// スクロール量が600以下だったら、画面外に隠す
$(".up").css({bottom: "-100px"});
}
});
丸いぷっくりしたボタン
CSS
.up {
position: fixed;
z-index: 90;
bottom: -100px;
right: 3%;
border-radius: 50%;
cursor: pointer;
}
.up span {
position: relative;
height: 54px;
width: 54px;
display: block;
border-radius: 50%;
text-shadow: 0 2px 5px rgba(244,74,79,.4), 0 2px 5px rgba(0,0,0,.2);
box-shadow: 0 6px 17px -7px rgba(244,74,79,.8);
background: #f7685f;
background: -moz-linear-gradient(top, #f7685f 7%, #e54749 68%);
background: -webkit-linear-gradient(top, #f7685f 7%, #e54749 68%);
background: linear-gradient(to bottom, #f7685f 7%, #e54749 68%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7685f', endColorstr='#e54749',GradientType=0 );
-webkit-transition: 0.7s cubic-bezier(0.33, 1, 0.68, 1);
transition: 0.7s cubic-bezier(0.33, 1, 0.68, 1);
}
.up span:before, .up span:after {
content: "";
position: absolute;
top: 49%;
width: 32%;
height: 3px;
background: #fff;
display: block;
border-radius: 12px;
}
.up span:before {
left: 24%;
-webkit-transform: translateY(-50%) rotate(-45deg);
transform: translateY(-50%) rotate(-45deg);
}
.up span:after {
right: 24%;
-webkit-transform: translateY(-50%) rotate(45deg);
transform: translateY(-50%) rotate(45deg);
}
.up span:hover {
-webkit-transform: translateY(-5%);
transform: translateY(-5%);
box-shadow: 0 10px 20px -6px rgba(244, 74, 79, 0.6);
opacity: .8;
}
丸い透明なボタン
CSS
.up {
position: fixed;
z-index: 90;
bottom: -100px;
right: 3%;
border-radius: 50%;
cursor: pointer;
}
.up span {
position: relative;
height: 54px;
width: 54px;
display: block;
border-radius: 50%;
box-shadow: 0 6px 17px -7px rgba(122, 132, 135, .3);
background: rgba(122, 132, 135, .3);
-webkit-transition: 0.7s cubic-bezier(0.33, 1, 0.68, 1);
transition: 0.7s cubic-bezier(0.33, 1, 0.68, 1);
}
.up span:before, .up span:after {
content: "";
position: absolute;
top: 49%;
width: 32%;
height: 3px;
background: #fff;
display: block;
border-radius: 12px;
}
.up span:before {
left: 24%;
-webkit-transform: translateY(-50%) rotate(-45deg);
transform: translateY(-50%) rotate(-45deg);
}
.up span:after {
right: 24%;
-webkit-transform: translateY(-50%) rotate(45deg);
transform: translateY(-50%) rotate(45deg);
}
.up span:hover {
-webkit-transform: translateY(-5%);
transform: translateY(-5%);
box-shadow: 0 10px 20px -6px rgba(122, 132, 135, .3);
opacity: .8;
}
丸いすりガラスボタン
CSS
.up {
position: fixed;
z-index: 90;
bottom: -100px;
right: 3%;
border-radius: 50%;
cursor: pointer;
}
.up span {
position: relative;
height: 54px;
width: 54px;
display: block;
border-radius: 50%;
box-shadow: 0 6px 17px -7px rgba(122, 132, 135, .3);
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
background: rgba(255,255,255,.1);
-webkit-transition: 0.7s cubic-bezier(0.33, 1, 0.68, 1);
transition: 0.7s cubic-bezier(0.33, 1, 0.68, 1);
}
@supports not (backdrop-filter: blur(30px)) {
.up span {
background: rgba(255,255,255,.8);
}
}
@media all and (-ms-high-contrast: none) {
.up span {
background: rgba(255,255,255,.8);
}
}
.up span:before, .up span:after {
content: "";
position: absolute;
top: 49%;
width: 32%;
height: 3px;
background: rgba(0,0,0,.5);
display: block;
border-radius: 12px;
}
.up span:before {
left: 24%;
-webkit-transform: translateY(-50%) rotate(-45deg);
transform: translateY(-50%) rotate(-45deg);
}
.up span:after {
right: 24%;
-webkit-transform: translateY(-50%) rotate(45deg);
transform: translateY(-50%) rotate(45deg);
}
.up span:hover {
-webkit-transform: translateY(-5%);
transform: translateY(-5%);
box-shadow: 0 10px 20px -6px rgba(122, 132, 135, .3);
opacity: .95;
}







コメント