~~~
function imgLazyLoad(options) {
var settings = {
Id: $('img'),
threshold: 100,
effectspeed: 0,
effect: "fadeIn"
}
$.extend(settings, options);
var $this = settings.Id;
var timeout = null;
$(window).bind('load resize', loadImg);
$(window).scroll(function() {
if(timeout) {
clearTimeout(timeout);
}
timeout = setTimeout(loadImg ? loadImg : "", 100);
})
function loadImg() {
settings.Id.each(function() {
if(!belowthefold(this)) {
if($(this).is(':visible')) {
$(this).trigger("appear");
}
}
})
}
return $this.each(function(i) {
var self = this;
//$(self).data('t', $(self).offset().top);
if(belowthefold(self)) {
self.loaded = false;
} else {
if($(self).is(':visible')) {
$(self).attr("src", $(self).attr("original"));
self.loaded = true;
}
}
$(self).one("appear",function() {
if(!this.loaded) {
$("<img />").bind("load",function() {
$(self).hide().attr("src", $(self).attr("original"))[settings.effect](settings.effectspeed);
self.loaded = true;
}).attr("src", $(self).attr("original"))
}
})
})
function belowthefold(element) {
var fold = $(window).height() + $(window).scrollTop();
return fold <= $(element).offset().top - settings.threshold;
}
}
imgLazyLoad({
threshold: 0,
effectspeed: 800
})
~~~
- 我的烂笔头
- 1、常用功能方法整合
- 2、jQuery基本函数
- 3、在页面中添加图片
- 4、精度算法
- 5、图片懒加载
- 6、弹窗拖拽功能
- 7、弹幕功能
- 8、鼠标滚动事件
- 9、获取页面相关属性
- 10、弹窗的三种展现方式
- 11、轮播功能
- 12、获取唯一标识
- 13、CSS样式效果
- 14、任意两点的动态连线
- 15、全新接口功能
- 16、适配兼容
- 17、无刷新页面更改URL
- 18、定时器的那些事
- 19、关于iframe的常见问题
- 20、设置不同的时间
- 21、关于select-option
- 22、省市级联
- 23、省市级联数据
- 24、关于数据传输问题
- 25、问题分支
- 那些年我们一起走过的神坑
- 1、关于console的使用
- 2、关于数组
- 1、数组的赋值
- 2、数组的常用方法
- 3、关于移动端的bug
- 4、关于视频的bug
- 5、那些坑坑洼洼
- 6、关于字符串
- 1、字符串的常用方法
- 页面布局
- 1、背景固定的滚动页面
- 心得
- Node.js
- 1、安装环境
- ThinkPHP 5.1
- 1、访问格式