Skip to content

Directive to Ionic Framework that only loads an image when it is seen by the user.

License

Notifications You must be signed in to change notification settings

rbosneag/ionic-image-lazy-load

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ionic-image-lazy-load

Demo

http://codepen.io/mvidailhet/pen/yNOGzY http://codepen.io/pavei/pen/oFpCy

Quick Start

Install using bower

bower install ion-image-lazy-load --save

or

Download the file JS ionic-image-lazy-load.js, save on your project and load it on your index.html.

<script src="path/to/ionic-image-lazy-load.js"></script>

Load into your module:

angular.module('yourapp',
              ['ionic', 'ionicLazyLoad'])

Set the lazy-scroll directive on your <ion-content> tag, that will listen to the scroll event:

<ion-content lazy-scroll>

And set the image-lazy-src directive on the image attribute instead of src:

 <img image-lazy-src="{{item.thumbnail}}">

You can also use it as a background-image for an element by setting the image-lazy-background-image paramameter to true:

<div image-lazy-src="{{item.thumbnail}}" image-lazy-background-image="true"></div>

You can also set an option to auto call $ionicScrollDelegate.resize() when the image load (default value is false):

 <img image-lazy-src="{{item.thumbnail}}" lazy-scroll-resize="true">

To show a ionic spinner while the image is loading, just specify a ionic spinner type (list is here: http://ionicframework.com/docs/api/directive/ionSpinner/):

 <img image-lazy-src="{{item.thumbnail}}" image-lazy-loader="lines">

Note: the styling of the loader position is up to you. The directive adds this html:

<div class="image-loader-container">
    <ion-spinner class="image-loader" icon="#spinnerStyle#"></ion-spinner>
</div>

You can set a distance from the bottom or right side of the screen where the image will start loading. This will allow to start loading the image 100px below the bottom of the screen:

 <img image-lazy-src="{{item.thumbnail}}" image-lazy-distance-from-bottom-to-load="100">

This will allow to start loading the image 100px before the right side of the screen:

 <img image-lazy-src="{{item.thumbnail}}" image-lazy-distance-from-right-to-load="100">

About

Directive to Ionic Framework that only loads an image when it is seen by the user.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%