【JQuery】画像が画面に入った瞬間「ふわっ」と画像を表示する「LazyLoad.js」の実装方法
いろいろなサイトを見ていると、ページをスクロールしていき、画像が画面内に入った瞬間に「ふわっ」と画像が表示されるサイトがあります。この実装方法はとても簡単で、JQueryの「LazyLoad.js」を使用するだけです。
1.「LazyLoad.js」をダウンロード
こちらよりダウンロードできます。画面の一番下にある「Download」という項までいき、「source」という部分を右クリックし、「対象をファイルに保存」します。
2.代替画像をダウンロード
後ほど説明しますが、「jquery.lazyload.js」では代替画像(表示させたい画像の前に表示させる画像)が必要になります。この代替画像はこちらよりダウンロードしてください(右クリック→保存)。
上の代替画像ですが、これは私が準備したもの(1px×1pxの透過gif)で、オリジナルの画像を使用してもOKです。
3.ファイルをアップロード
ダウンロードした「jquery.lazyload.js」ファイルと代替画像「lazyload.gif」を、FFFTPなどを使ってサイトのルート(index.htmlなどのトップページファイルがあるところ)にアップロードします(階層構造に詳しい人は任意の場所でOK)。
4.ファイルの<head>に必要事項を記述
ファイルのHTMLの<head>部分に以下のタグを記述
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js?ver=1.7.2'></script> <script type="text/javascript" src="jquery.lazyload.js"></script> <script type="text/javascript"> $(function() { $("img.lazy").lazyload({ effect: "fadeIn" }); }); </script>
5.画像のimg要素の記述を変更する
通常、画像のimg要素の記述方法は
<img src="画像のURL">(最も簡単な記述)
ですが、これを以下のように変更します。
<img class="lazy" data-original="画像のURL" src="lazyload.gif(代替画像のURL)" style="display: inline;">
これで画像が画面に入った瞬間、「ふわっ」と画像が表示されるようになります。
6.「LazyLoad.js」の仕組み
上で「LazyLoad.jsは代替画像を使用する」と書きましたが、この説明を行います。
通常、ページが表示される際、そのページに表示される画像は全てページに一気に表示されます。これはWebページを表示するブラウザの仕様なのでどうしようもありません。
そこで「LazyLoad.js」では、ページが表示される際、いったん代替画像を表示させておき、画面が代替画像を表示した瞬間に本来の画像と差し替える仕組みをとっています。そのため代替画像が必要になります。
以上で、「LazyLoad.js」の実装方法の説明は終わりです。なお、「LazyLoad.js」にはメリット・デメリットがありますので、「LazyLoad.jsのメリット・デメリット」を参考にして実装するべきかどうかを判断してください。
あわせて読んでほしい!
コメント
まだコメントはありません。