スタッフブログ

コンテンツがスクロール可能な場合にヒントを表示する ScrollHintをリリースしました


スマートフォンなどでサイトを閲覧する際にテーブルなど横に長いコンテンツが、ビューポートを飛び出してしまっていることがありませんか?そういったコンテンツは横にスクロールできるようにCSSで調整しているケースもありますが、ぱっと見でそのコンテンツがスクロール可能かどうか判断できません。そこで今回は、横にスクロール可能な場合にスクロールできることを示唆するアイコンを表示するためのライブラリーを開発しました。
https://appleple.github.io/scroll-hint/では、簡単に英語で利用方法が解説されていますが、こちらでは日本語でしっかり解説します。

  1. デモ
  2. 特徴
  3. 使い方
  4. オプション
  5. ダウンロード
  6. リンク

デモ

See the Pen ScrollHintデモ by appleple (@appleple) on CodePen.

特徴

  • 国際化対応(i18n)
  • アイコン以外にもシャドーを表示してスクロールできることを示唆

使い方

JavaScriptとCSSの読み込み

<link rel="stylesheet" href="https://unpkg.com/scroll-hint@1.1.10/css/scroll-hint.css">
<script src="https://unpkg.com/scroll-hint@1.1.10/js/scroll-hint.js"></script>

HTMLの記述

<div class="js-scrollable">
  <table>
      <thead>
        <tr>
          <th>Col1</th>
          <th>Col2</th>
          <th>Col3</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>Lorem ipsum dolor sit.</td>
          <td>Lorem ipsum dolor sit.</td>
          <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Et, magnam.</td>
        </tr>
      </tbody>
    </table>
</div>

JavaScriptの記述

window.addEventListener('DOMContentLoaded', function(){
  new ScrollHint('.js-scrollable');
});

オプション

またScrollHintにはオプションが用意されており、下のように第二引数にオプションのオブジェクトを設定することができます。
下の例では、アイコンカラーを白にして、デフォルトでは「scrollable」というメッセージを「スクロールできます」に変更しています。

new ScrollHint('.js-scrollable', {
  scrollHintIconAppendClass: 'scroll-hint-icon-white', // white-icon will appear
  i18n: {
    scrollable: 'スクロールできます'
  }
});

他にも以下のようなオプションが利用可能です。

名前 デフォルト値 説明
remainingTime -1 一定時間が経ったらアイコンを非表示にします。
scrollHintBorderWidth 10 シャドーが有効場合のシャドーの幅を指定します。
enableOverflowScrolling true iOSの場合にスムーズなスクロールになるようにCSSのプロパティを追加します。
suggestiveShadow false 要素がスクロール可能の場合、アイコンの他にシャドーも表示します。
applyToParents false 指定されたセレクターの親要素に対してJavaScriptが実行されます。
i18n.scrollable scrollable スクロールのメッセージを変更できます。

ダウンロード

ダウンロードはこちらから行えます。
ダウンロード

もしくは、npm、yarnを使ったインストールが可能です。

npm install scroll-hint --save
yarn add scroll-hint

npmでのインストール後は、BrowserifyやWebpackなどのbundleツールを使ったrequireも可能です。

const ScrollHint = require('scroll-hint');

Babelをお使いの方はimportもご利用いただけます。

import ScrollHint from 'scroll-hint';

リンク

appleple.github.io/scroll-hint


github.com/appleple/scroll-hint



お気軽にお問い合わせください