画像や動画をポップアップで表示させるJavaScriptのプラグインで、特に有名なものでは[LightBox]が挙げられます。

ここで紹介する[Lity]は[LightBox]と同じように使えるjQueryプラグインで、レスポンシブにも対応済み。またデータ容量も4KB未満と軽量で気軽に導入できる点が魅力です。

その実装方法ですが、まずは公式配布サイトより必要なファイルをダウンロードしてきましょう。

[Lity]:公式サイト

いくつかのファイルが梱包されていますが、このうち使うのは「lity.min.css」と「lity.min.js」の2つのファイル。
当然ですが[Lity]はjQueryに依存していますので、jQuery本体のスクリプトも必要です。

  • lity.min.css
  • lity.min.js
  • jquery.js

これらのファイルをHTMLの <head>~</head> 内で読み込みます。

このとき「jquery本体ファイル」と「lity.min.js」を読み込む順番にも注意しておきましょう。
「lity.min.js」よりも先に「jquery.js」を読み込むようにします。

<link rel="stylesheet" href="lity.min.css">
<script src="jquery.js"></script>
<script src="lity.min.js"></script>

続いて[Lity]を起動させるスイッチですが、これは「a要素」に「カスタムデータ属性」を追加して設定します。

リンク先の「href属性」の値でポップアップで表示させる画像や動画、ボックス要素などを指定します。

<a href="images/sample.png" data-lity="data-lity">画像をLityで表示</a>

なお、カスタムデータ属性の「data-lity」の値は指定しなくても起動するようですが、念のため data-lity="data-lity" と記述しておいたほうがよさそうです。

HTML内の特定の要素を[Lity]で表示させる場合はちょっとした仕掛けが必要です。

この場合、まずはボックス要素に class="lity-hide" というclass名を付与し、さらに任意のidを指定しておきす。ここでは仮に id="sample" としましょう。
このボックス要素の中身は自由にコーディングが可能です。

<div id="sample" class="lity-hide">
	<p>ここは自由にカスタマイズ可能です。</p>
</div>

class=“lity-hide"の効果によって要素が非表示状態になっているので、あとはカスタムデータ属性data-lity="data-lity"を付与した[a要素]で href="#sample" を指定すれば設置完了です。

<p><a href="#sample" data-lity="data-lity">サンプルを表示する</a></p>

実際に[Lity]を実装したサンプルサイトを用意しましたので、合わせてご覧ください。

jQuery[Lity]:サンプル・デモ