今回は、ボタンをクリックしたら
ページのトップへ滑らかに遷移するというものを
jQueryを使って作成します。
1.jQueryのプラグインを入手する。
今回は、トップページにスムーズに戻るために
イージング関数が入ったプラグインを使用します。
サンプルコードについて
38行目までは、スクロールしているのが
分かるように適当な文字を入れています。
39行目ボタンを作成しています。
46行目のscriptタグ内で、
toTopをクリックしたときの処理を書いています。
47行目~49行目がアニメーションでページトップへ
ゆったりスクロールする処理を書いています。
今回はページのトップへスクロールさせたいので、
CSShs「scrollTop:0」と指定しています。
アニメーションにかかる時間は600/1000秒です。
「scrollTop」はjQuery独自に追加された
プロパティです。これを使用することで
ページのスクロールをすることができます。
51行目の「return false;」は今回は、
div id="main" へのページ内リンクを止めるために
書いています。
これがないと、Topへをクリックしたときに
スクロールバーの部分がチラつくことがあります。
ブラウザによって違うスクロールの要素
今回のサンプルコードでアニメーションさせる要素を
$("html, body")と指定しています。これはブラウザに
よりスクロールする要素が違うからです。
ブラウザでのスクロール対象の要素
●html IE,Firefox
●body Chrome,Safari
実行結果はこちらです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
<!doctype html> <html> <head> <meta charset="utf-8"> <title>jQueryUI Tab</title> <script src="js/jquery-1.11.3.js"></script> <script src="js/plugin/jquery.easing.1.3.js"></script> </head> <body> <div id="main"> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p>サンプル</p> <p id="toTop"><a href="#main">Topへ</a></p> </div> <script> $(function(){ $("#toTop a").click(function(){ $("html, body").animate({ "scrollTop":0 },600,"easeInOutExpo"); return false; }); }); </script> </body> </html> |