2011/07/04

[jQuery]スクロールの位置で、関数を実行するWaypoints

ある特定のスクロールの位置で、関数を実行したい場合があります。
(例えば、一番下までスクロールした場合など)

で、そんな場合に使えるjQueryプラグイン Waypointsを教えていただきました。

サンプルページで実際の挙動を試すこともできますが、例として、一番下までスクロールした場合に、画像を表示するプログラムを書いてみました。

<html>
<head>
<style type="text/css">
#sub{
display:none;
position:fixed;
margin:0;
padding:0;
top:0;
left:0;
}
</style>
<script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js">
</script>
<script type="text/javascript" src="./waypoints.min.js"></script>
</head>
<body>
<div id="main">
<div>0</div>
<div>1</div>
<div>2</div>
・・・以下省略・・・
<div>99</div>
</div>
<div id="sub">
<img src="./hoge.jpg" border="0">
</div>
<script type="text/javascript">
$(function(){
$("body").waypoint(function(event,direction){
if(direction == 'down'){
$("#sub").slideDown("normal");
}else{
$("#sub").slideUp("fast");
}
},{
offset:function(){
return $.waypoints('viewportHeight') - $(this).outerHeight();
}
});
});
</script>
</body>
</html>

ポイントは、waypointメソッドを読んでいるところ。

詳細は、Full Documentationを読みながら参考にしました。

これすごく便利ぃー♪

0 コメント:

コメントを投稿