思路:
先用一个比较小的img图片提示用户,正在加载图片;等图片加载完毕后,再显示需要的图片。
html:src为默认显示的图片,lazy-src为需要懒加载的图片
<img image-lazy-load src="" lazy-src="../image/logo.png" alt=""/>
js:
app.directive('imageLazyLoad', function() {
return {
// A = attribute, E = Element, C = Class and M = HTML Comment
restrict: 'A',
link: function(scope, element, attrs){
element[0].src = '../image/logo.png'; //default
element[0].onload =function (ev) { //image load success
element[0].src = attrs.lazySrc;
}
}
};
});
如果图片加载失败的时候,可以调用image的onerror事件,来定义需要执行的函数。或者用onabort来定义放弃加载图片所要执行的函数。