続きを表示する「もっと見る」ボタンの実装
今回は、データをリスト表示する際に、途中まで表示し以降は、「もっと見る」ボタンを押下する事で見る事ができるようにするボタン「もっと見る」ボタンの実装方法について記述します。
実際の実装例
こんな感じのものです。「—もっと見る—」ボタンを押下すると、リストを5個づつ表示していきます。
- item1
- item2
- item3
- item4
- item5
- item6
- item7
- item8
- item9
- item10
- item11
- item12
- item13
- item14
- item15
- item16
- item17
- item18
- item19
- item20
実際のソース
HTML/CSSの文
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | <style> .list-data{ opacity: 1; } .list-data.is-hidden { opacity: 0; height: 0; margin: 0; } .list-btn { margin: 20px 0; } .list-btn.is-btn-hidden{ display:none; } .list-btn button { color:#333; background:transparent; border: none; cursor: pointer; outline: none; padding: 0; height: 32px; line-height: 32px; width: 200px; transition:all 0.3s; } .list-btn button:hover { opacity:0.6; } </style> <ul class="list"> <li class="list-data">item1</li> <li class="list-data">item2</li> <li class="list-data">item3</li> <li class="list-data">item4</li> <li class="list-data">item5</li> <li class="list-data">item6</li> <li class="list-data">item7</li> <li class="list-data">item8</li> <li class="list-data">item9</li> <li class="list-data">item10</li> <li class="list-data">item11</li> <li class="list-data">item12</li> <li class="list-data">item13</li> <li class="list-data">item14</li> <li class="list-data">item15</li> <li class="list-data">item16</li> <li class="list-data">item17</li> <li class="list-data">item18</li> <li class="list-data">item19</li> <li class="list-data">item20</li> </ul> <div class="list-btn"> <button>--- もっと見る ---</button> </div> |
初期表示状態とボタン押下時の処理はjQueryで実装しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | /* 表示リスト数 */ var moreNumber = 5; /* 初期設定(表示リスト以外は非表示にする) */ jQuery('.list-data:nth-child(n + ' + (moreNumber + 1) + ')').addClass('is-hidden'); /* 全リスト表示時「もっとみる」ボタンをフェードアウト */ jQuery('.list-btn').on('click', function() { jQuery('.list-data.is-hidden').slice(0, moreNumber).removeClass('is-hidden'); if (jQuery('.list-data.is-hidden').length == 0) { jQuery('.list-btn').fadeOut(); } }); /* リスト数が表示リスト数以下の時は「もっとみる」ボタンは非表示 */ jQuery(function() { var list = jQuery(".list li").length; if (list < moreNumber) { jQuery('.list-btn').addClass('is-btn-hidden'); } }); |
まとめ
リスト表示などを使って大量の情報を表示する際に、このような「もっと見る」ボタンを設置しておくとサイトを訪れたユーザーはページの全体像が把握しやすくなります。
特に画面に表示できる情報量が限られているスマホにおいては、このような「もっと見る」ボタンを設置する事で縦スクロールの長さを減らすことで、欲しい情報が見つけやすくなり、ユーザービリティの向上にもつながるかなと思います。
ページが長くなるような場合には、「目次」の設置などとも合わせて、今回ご紹介させて頂いた「もっと見る」ボタンの設置をご検討いただくと良いと思います。
皆さまのお役に立てれば幸いです。
WEB DESIGN全てお任せ!ホームページ制作
RishunTradingでは、日本にはないコンセプトや高いデザイン性をもったヨーロッパ製品の輸入販売、及び、Webサイト制作事業などをおこなっております。
「全てお任せ!ホームページ制作」は、ドメイン取得からサーバー設定、レスポンシブルデザイン(スマホ、タブレット対応)、SEO対策がすべて含まれたお得なホームページを制作するサービス商品です。
運用開始後に「Webサイト運用管理サービス(保守)」と組み合わせて購入しますと、メンテナンス、更新も含めてすべて弊社で実施しますので、お客様は安心して本業に集中する事ができます。
しかもなんと、「全てお任せ!ホームページ制作」は、¥100,000!で提供しております。
本業が忙しい中小企業様に大変ご好評を頂いている商品です。
独自ドメイン取得
サーバー開設&設定
レイアウト設計
レスポンシブルデザイン
(*1)検索エンジン最適化
(SEO対策)場所Maps
お問い合わせフォーム
SSL化
各種SNS連携
運用マニュアル