長いスマホ商品ページでも購入導線をわかりやすく表示し離脱を防ぐ
画像やテキストで商品が訴求された長い商品ページは商品の情報が充実していてるのですが、いざ買おうと思ったときに「どっから買うたらええねん」となってしまうことがあります。特にスマートフォンでは画面が小さい分注意。
そうなってしまわないように、今回は商品ページでユーザーにを迷わせないようにカートボタンへの固定ボタンを表示させます。
下記がサンプルの商品詳細ページです。iframe内をスクロールしてみてください。
スクロールすると、「この商品を購入する」のボタンをふわっと表示。
ボタンをタップすると、「カートに入れる」へ。スルスルっとレジまで連れて行ってくれます。
下記の方法で実装可能です。
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
JQueryを使用しますのでライブラリを読み込んでおきます。
なお、新しいバージョンのほうが読み込み速度が速いです。
<div class="toCartButton"> <a href="#☆☆☆☆"> <p>この商品を購入する ></p> </a> </div>
☆☆☆☆の部分は、ボタンをタップしたときにスクロールする先のIDを記載して下さい。
なお、表示速度のことを考えると、htmlの下部に記述するほうが良いです。
CSSでボタンをページ下部に固定します。
.toCartButton { /*ページ下部に固定*/ position: fixed; bottom: 0px; width: 100%; }
こちらのCSSでページ下部にボタンを固定します。
関連記事:【jQuery】レンスポンシブな固定フッターメニューの作成方法 | Mobile First Marketing Labo
なお、ボタンの上に影を付ける場合は下記のCSSで設定可能。
/*ボタン上部に影をつける*/ box-shadow: 10px 10px 10px 10px rgba(0,0,0,0.4);
$(function() { var topBtn = $('.toCartButton'); topBtn.hide(); $(window).scroll(function () { if ($(this).scrollTop() > 50) { topBtn.fadeIn(); } else { topBtn.fadeOut(); } }); });
どのくらいスクロールしたら表示するかは、上の数字を書き換えると調整可能です。
(function($) { 'use strict'; $(function() { var scrollSpeed = 1000, // スクロール時間(ミリ秒) buttonOffset = 200; // トップへ戻る固定ボタンを表示するスクロール量(px) // スムーズスクロール $('a[href^="#"]').on( 'click', function() { var href= $(this).attr( 'href' ); if ( href !== '#' || href !== '' ) { var target = ( href === '#top' && !$('#top').length ) ? 'html' : href, position = $(target).offset().top; $('body, html').animate( {scrollTop:position}, scrollSpeed, 'swing' ); return false; } }); // トップへ戻る固定ボタンの表示・非表示 if ( $('.scroll-fade').length ) { var sfBtn = $('.scroll-fade'), sfBtnDisplay = '', flagAnimate = false; $(sfBtn).css( 'display', 'none' ); $(window).on( 'scroll', function() { sfBtnDisplay = sfBtn.css( 'display' ); if ( $(this).scrollTop() > buttonOffset && sfBtnDisplay === 'none' && !flagAnimate ) { flagAnimate = true; sfBtn.fadeIn(function() { flagAnimate = false; }); } else if ( $(this).scrollTop() <= buttonOffset && sfBtnDisplay !== 'none' && !flagAnimate ) { flagAnimate = true; sfBtn.fadeOut(function() { flagAnimate = false; }); } }); } }); })( jQuery );
関連記事:ページ内リンクをスムーズに移動!スムーズスクロールの設置方法 | Mobile First Marketing Labo
こちらで完成です!
近年はモバイルファーストなサイトや1カラムのページが増えて、1ページが長いサイトが増加傾向にあります。そのようなサイトでは是非ともお試しください。