本記事では、ScrollTween.jsを利用して、特定のエリア内でマウスホイールのスクロール量に応じてアニメーションを表示させる方法をご紹介します。
この記事を読むことで、初心者の方でも簡単にスクロールアニメーションを実装できるようになります。
スクロールアニメーションの仕組み
ScrollTween.jsは、マウスホイールのスクロール動作に応じて特定のエレメントに対してアニメーションを適用するためのライブラリです。これを使うことで、スクロールによる動きに応じて要素を移動させたり、サイズを変更したりすることができます。
マウスのスクロールでアニメーションさせるCSSの記述例
以下は、アニメーションさせる要素(#anime1、#anime2)とマウススクロールエリア(#container)のCSS例です。必要に応じて変更してください。
<style>
body{
font-family:Verdana,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W6",Osaka,"MS Pゴシック",Arial,sans-serif;
padding: 0;
margin: 0;
}
h1{
font-size:18px;
line-height:1.6em;
text-align:center;
font-weight:normal;
padding:10px 0;
}
.clWrap{
width:700px;
margin:0 auto;
text-align:left;
}
#container{
width:700px;
height:500px;
padding:0;
margin:0 auto;
border:solid 1px #CCCCCC;
}
#container *{
padding:0;
margin:0;
}
#anime1{
width:180px;
height:70px;
border:solid 3px #000000;
text-align:center;
line-height:70px;
}
#anime2{
width:200px;
height:70px;
background-color:#000;
color:#FFF;
text-align:center;
line-height:70px;
}
</style>
ScrollTween.jsを使ってマウスのスクロールでアニメーションさせるJavaScriptの記述
次に、ScrollTween.jsを使ってアニメーションを実装するためのJavaScriptコードを紹介します。このコードはjQueryとScrollTween.jsを利用しています。
jquery-1.8.1.min.js、jquery.mousewheel.js、ScrollTween.jsファイルを読み込みます。マウススクロールエリアScrollTween.container(マウススクロールエリア)に対して、ScrollTween.container(マウススクロールエリア).add(アニメーションオプション)を設定します。
<script type="text/javascript" src="jquery-1.8.1.min.js"></script>
<script type="text/javascript" src="jquery.mousewheel.js"></script>
<script type="text/javascript" src="ScrollTween.js"></script>
<script type="text/javascript">
$(function() {
var containerDiv = $('#container');
var container = ScrollTween.container(containerDiv);
container.add("#anime1", function(tween) {
tween
.to(0, tween.styles().topOut().center())
.range(100, 200, tween.styles().middle())
.to(400, tween.styles().rightOut());
});
container.add("#anime2", function(tween) {
tween
.to(200, tween.styles().bottomOut().center())
.range(300, 400, tween.styles().middle())
.to(500, tween.styles().leftOut());
});
container.play();
});
</script>
マウスのスクロールでアニメーションさせるHTMLの記述
以下は、スクロールアニメーションを適用するためのHTMLコードです。マウススクロールエリア(id=”container”)内にアニメーションさせる要素(id=”anime1″、id=”anime2″)を配置しています。
<div class="clWrap">
<h1>下の枠内にてマウスホイールにてスクロールして見て下さい。<br />スクロール量により指定の枠が移動します。</h1>
<div id="container">
<div id="anime1">上→下→右に動きます</div>
<div id="anime2">下→上→左に動きます。</div>
</div>
</div><!--/clWrap-->
ScrollTween.jsを使ってマウスホイールのスクロールでアニメーションするデモページ
以上のコードを使用して、実際にマウスホイールのスクロールによってアニメーションがどのように動作するかを確認してみましょう。次のリンクからデモページにアクセスして、実際の動きを体験してみてください。
ScrollTween.jsを使ってマウスホイールのスクロールでアニメーションするデモ
参考サイト:パララックスというか、スクロールでアニメーションさせるjQueryプラグイン「ScrollTween.js」
さらに詳しい情報や他のサンプルについては、以下の参考サイトをチェックしてください。
参考サイト:パララックスというか、スクロールでアニメーションさせるjQueryプラグイン「ScrollTween.js」
まとめ
この記事では、ScrollTween.jsを使ってマウスホイールのスクロールに応じて要素をアニメーションさせる方法について解説しました。スクロールアニメーションは、ウェブサイトに動的な視覚効果を追加するための強力なツールです。ぜひ、ご自身のプロジェクトに取り入れてみてください。
この記事が皆さんの参考になれば幸いです。それでは、楽しいウェブ制作をお楽しみください!
※流用される場合は自己責任でお願いします。
デモページタグ内のGoogleアナリティクスタグは流用しないで下さい。