User:Irukaza/common.css
跳到导航
跳到搜索
注意:这类代码页面在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
- 按住
CTRL+SHIFT+DEL 或 ⌘-Shift-R
来清除缓存! - 或尝试在地址栏的地址最后添加代码
?_=1
来访问最新页面。 - 你还可以在设置中勾选小工具在页面右上角添加清除缓存按钮!
window.smallDelay = (function(window, document, undefined) {
'use strict';
var store = [],poll;
var settings = {
offset:0, //离可视区域多少像素的图片可以被加载
throttle: 250 //图片延时多少毫秒加载
}
var _inView = function(el) {
var coords = el.getBoundingClientRect();
return ((coords.top >= 0 && coords.left >= 0) && coords.top <= ((window.innerHeight || document.documentElement.clientHeight) + parseInt(settings.offset)));
};
var _pollImages = function() {
for (var i = store.length; i--;) {
var self = store[i];
if (_inView(self)) {
self.src = self.getAttribute('data-delay');
store.splice(i, 1);
}
}
};
var _throttle = function() {
clearTimeout(poll);
poll = setTimeout(_pollImages, settings.throttle);
};
var init = function(obj) {
var nodes = document.querySelectorAll('[data-delay]');
var opts = obj || {};
settings.offset = opts.offset || settings.offset;
settings.throttle = opts.throttle || settings.throttle;
for (var i = 0; i < nodes.length; i++) {
store.push(nodes[i]);
}
_throttle();
//滚动监听执行图片懒加载
if (document.addEventListener) {
window.addEventListener('scroll', _throttle, false);
} else {
window.attachEvent('onscroll', _throttle);
}
//返回该对象进行链式操作
return this;
};
return {
init: init,
render: _throttle
};
})(window, document);