デモ

ソース

javascript

(function($) {
  $.imageLazyLoader =function(element, options) {
    var defaults = {
          count        : 0,
          invervalId   : 0,
          intervalTime : 1000,
          fedeInTime   : 500,
          target       : '.imgBox'
        }

    var plugin = this;
        plugin.settings = {}

    var $element = $(element),
        element = element;

    plugin.init = function() {
      $(defaults.target + ' img').hide();
      $(window).bind("load", function() {
    	  defaults.invervalId = setInterval(lazyLoad,defaults.intervalTime);
      });
    }

    /**
     * lazyLoad action
     */
    var lazyLoad = function() {
    	var imgNum = $('img').length;
    	if (defaults.count >= imgNum) {
    	  clearInterval(defaults.invervalId);
    	}
    	$('img:hidden').eq(0).fadeIn(defaults.fedeInTime);
    	defaults.count++;
    }
    plugin.init();
 }
 $.fn.imageLazyLoader = function(options) {
    return this.each(function() {
       if (undefined == $(this).data('imageLazyLoader')) {
          var plugin = new $.imageLazyLoader(this, options);
          $(this).data('imageLazyLoader', plugin);
       }
    });
 }
})(jQuery);

$(function () {
  $.imageLazyLoader();
});

HTML

<div class="imgArea">
<span class="imgBox"><img height="160" width="200" src="/javascript/lazyload/img/dummy01.gif" /></span>
<span class="imgBox"><img height="160" width="200" src="/javascript/lazyload/img/dummy02.gif" /></span>
<span class="imgBox"><img height="160" width="200" src="/javascript/lazyload/img/dummy03.gif" /></span>
<span class="imgBox"><img height="160" width="200" src="/javascript/lazyload/img/dummy04.gif" /></span>
<span class="imgBox"><img height="160" width="200" src="/javascript/lazyload/img/dummy05.gif" /></span>
<span class="imgBox"><img height="160" width="200" src="/javascript/lazyload/img/dummy06.gif" /></span>
<span class="imgBox"><img height="160" width="200" src="/javascript/lazyload/img/dummy07.gif" /></span>
<span class="imgBox"><img height="160" width="200" src="/javascript/lazyload/img/dummy08.gif" /></span>
<span class="imgBox"><img height="160" width="200" src="/javascript/lazyload/img/dummy09.gif" /></span>
</div>

  • 遅延表示
  • lazy load
  • jQuery