F.Ko-Jiの「一秒後は未来」

Yahoo! UI Libraryでページ内スクロール

先週の会社の技術勉強会で「Yahoo! UI Library」を取り上げたので、自分のブログにも取り入れてみました。手始めにページトップへスクロールする機能を実装。

まず、YUIのライブラリを読み込みます。

<script type="text/javascript" src="http://fkoji.com/js/yui/build/yahoo/yahoo.js"></script>
<script type="text/javascript" src="http://fkoji.com/js/yui/build/event/event.js"></script>
<script type="text/javascript" src="http://fkoji.com/js/yui/build/dom/dom.js"></script>
<script type="text/javascript" src="http://fkoji.com/js/yui/build/animation/animation.js"></script>

次に、ページトップへスクロールする関数を定義します。

function jumpPageTop() {
 var anim = new YAHOO.util.Scroll(
  document.getElementsByTagName('html')[0],
  { scroll: { to: [0, 0] } },
  0.5,
  YAHOO.util.Easing.eathBoth
 );
 anim.animate();
}

YAHOO.util.Scroll()は引数を4つ取れます。

一つ目はスクロールのターゲットとなる要素です。idもしくはDOMで与えます。ページ内スクロールの場合、対象はhtmlタグになるので、document.getElementsByTagName(“html”)[0]で与えました。

二つ目はスクロール値です。オブジェクト形式で与えます。toの場合絶対値でbyの場合相対値となります。

三つ目はdurationです。ここに与えた秒数でアニメーションが実行されます。

四つ目は一般にYAHOO.util.Easingクラスのメソッドを与えます。

生成したオブジェクトのanimate()メソッドでスクロールが実行されます。

実際に実装した機能を見てみたいときは、各エントリーの終わりにある「ページトップへ △」というリンクをクリックしてみてください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

著者について

fkoji

F.Ko-Ji

Webエンジニアやってます。最近は ドットインストール の開発がお仕事です。その傍ら、個人で Meity電車遅延なう梅酒.in#グラドル自画撮り部 の部室といったネットサービスを開発・運営してます。梅酒と草野球とリアル脱出ゲームが好きです。

» 詳しいプロフィールや運営サービスの一覧など