jcartのカート(買い物カゴ)をスクロールしてもついてくるようにする

·

前回の記事で、PHP+jQueryでつくられたDB不要のシンプルなプログラム『jcart』の商品削除にアラートを追加する方法を掲載したが、多くのショッピングカートにあってjcartに無い機能として、カート(買い物カゴ)がスクロールすると隠れてしまうことへの対応がある。

jcartはjqueryを使ったプログラムだから、この機能を追加するのは簡単。最小限の機能であればヘッダにJavascriptの一文を追加するだけでも可能だが、コントロールのし易さとオプションの使い易さを考え、jQuery Scroll Followを使うことにする。

『jQuery Scroll Follow』
http://kitchen.net-perspective.com/open-source/scroll-follow/

上記サイトに全てのデータが揃っているから簡単に導入できる。

ヘッダ内の

<script type="text/javascript" src="jcart/js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="jcart/js/jcart.js"></script>

の部分にui.core.js、jquery.scroll-follow.jsを追加

JAVASCRIPT

<script type="text/javascript" src="jcart/js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="jcart/js/ui.core.js"></script>
<script type="text/javascript" src="jcart/js/jquery.scroll-follow.js"></script>
<script type="text/javascript" src="jcart/js/jcart.js"></script>

さらに

JAVASCRIPT

<script type="text/javascript">
    $(document).ready(function (){
        $('#kago').scrollFollow({speed:300, offset:30});
    });
</script>

を追加。

speed:300, offset:30はオプションだから、デフォルトのままで構わないという人は

$('#kago').scrollFollow();

で良い。

speedはスクロール速度(ミリ秒)
offsetはスクロール後のブラウザの上部からのピクセル数
#kagoはスクロールさせたいアイテムのID
デフォルトのjcartではsidebarがこれに該当する。

スタイルシートの一例は以下

CSS

#kago{
    float: right;
    position: relative;
    width: 220px;
    margin: 0px;
    padding: 0px;
}

HTMLサンプルコードは以下

HTML

<div id="kago">
    <div id="jcart">
        $jcart->display_cart();
    </div>
</div>

以上で、jcartのショッピングカート(買い物カゴ)がスクロールについてくるようになる。