// 图片延迟加载 ~function(){ function lazyImg(oImg) { // 进行加载过,直接返回 if(oImg.isLoad) return; // 获取图片所在盒子距离body的上偏移和浏览器底边框距离body 的距离 var a = utils.win('clientHeight') + utils.win('scrollTop'); var oImgP = oImg.parentNode.parentNode; var b = utils.offset(oImgP).top; if(a >= b) { oImg.isLoad = true; var oTempImg = new Image; var dataSrc = oImg.getAttribute("data-src"); oTempImg.onload = function () { oImg.src = this.src; oImg.style['display'] = 'block'; //moveImg(oImg); oTempImg = null; }; dataSrc = dataSrc === '' ? '/img/img_default.png' : dataSrc; oTempImg.src = dataSrc; } } //图片的透明度渐现 function moveImg(oImg) { var start = 0, step = 0.08; oImg.moveTimer = setInterval(function () { if(start >= 1) { clearTimeout(oImg.moveTimer); return; } start += step; oImg['style']['opacity'] = start; oImg['style']['filter'] = 'alpha(opacity=' + start * 100 + ')'; },17); } // 页面图片延迟加载 function handleAllImg() { var imgList = document.getElementsByTagName('img'); for(var i =0; i 设置页面加载和滚动条滚动时加载图片 window.onload = window.onscroll = handleAllImg; }(); var utils = (function() { // 返回元素距离body的偏移量 function offset(curEle) { var l = curEle.offsetLeft, t = curEle.offsetTop, p = curEle.offsetParent; while(p && p !== document.body) { // IE8浏览器中offsetLeft已经包含了边框值 if (window.navigator.userAgent.indexOf('MSIE 8') === -1) { l += p.clientLeft; t += p.clientTop; } l += p.offsetLeft; t += p.offsetTop; p = p.offsetParent; } return {left : l , top : t}; } // 获取 浏览器属性 function win(attr) { return document.documentElement[attr] || document.body[attr]; } return { offset:offset, win:win }; })();