menu
menu

キーワード検索

 

最近の投稿

jQueryでページトップボタンとページ内スムーススクロール

  • Labs

jQuery

こんにちは(・∀・)

今回はスクロールすると表示するページトップボタンとページ内スムーススクロールのjQueryサンプルをご紹介します。

jQueryでページトップボタンはページトップに戻るだけのボタンでしたが、このスクリプトはページ内をスムースに移動できる様に変更しました。

サンプルデモ

サンプルデモはこちら

JavaScript部分にdisplay: noneを記述してありますが、DOM構築時に一瞬ボタンが表示されてしまうため、その対策としてCSSのボタン要素にもdisplay: noneを記述しておきます。

HTML

Google Hosted LibrariesからjQuery 1.x snippetを<head>内に読み込みます。


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>

<div class="pagetop">
<a href="#wrapper">∧</a>
<!--pagetop--></div>
CSS

.pagetop {
	position: fixed;
	bottom: 100px;
	right: 20px;
	width: 50px;
	height: 50px;
}
.pagetop a {
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: #9fb7d4;
	color: #fff;
	font-size: 22px;
	line-height: 2.2;
	text-indent: 0.7em;
}
.pagetop a:hover {
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: #4776AF;
}
JavaScript

$(function() {
//ボタン表示スクリプト
var pagetop = $('.pagetop');
pagetop.css({'display': 'none'});
$(window).scroll(function () {
if ($(this).scrollTop() > 100) {
pagetop.fadeIn();
} else {
pagetop.fadeOut();
}
});
});
$(function() {
//移動するスクリプト
$('a[href^=#]').click(function() {
var href= $(this).attr('href');
var target = $(href == '#' || href == '' ? 'html' : href);
var position = target.offset().top;
$('html,body').animate({scrollTop: position}, 500, 'swing');
return false;
});
});
関連リンク

JavaScriptでスムーススクロール
jQueryでページトップボタン

  • カテゴリー:Labs