图片预加载。。。。。。舒-鲜- 阳
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> <div id="log"></div> <div id="imgContainer" style="display: none"> <img data-src="http://h.hiphotos.baidu.com/image/pic/item/58ee3d6d55fbb2fb3c13d9044c4a20a44623dce8.jpg"> <img data-src="http://c.hiphotos.baidu.com/image/h%3D200/sign=73b518fcb5fd5266b82b3b149b199799/8601a18b87d6277f6c51262f2b381f30e924fc62.jpg"> <img data-src="http://a.hiphotos.baidu.com/image/pic/item/9f510fb30f2442a7e13e65b3d243ad4bd11302f7.jpg"> <img data-src="http://c.hiphotos.baidu.com/image/pic/item/d52a2834349b033b1930d9cd16ce36d3d539bd68.jpg"> </div> <script> var onLoad = function( src, callback ){ var img = new Image(); img.onload = function(){ img.onload = new Function; callback && callback( img ); }; img.onerror = function(){ img.onerror = new Function; callback && callback( img ); }; img.src = src; }; var loadImgQueue = function( list, progress ){ if( !(list instanceof Array) ){ list = list.split(","); } var index = 0, length = list.length, imgObj = list[index]; onLoad(list[index].src, function( imgEl ){ progress && progress(++index, length, imgObj); if( index > length - 1 ) return; onLoad((imgObj=list[index]).src, arguments.callee); }); }; var getLoadingImgs = function( container ){ var imgContainer = document.getElementById(container); var imgs = imgContainer.getElementsByTagName('img'); var imgObj = []; for(var i=0; i<imgs.length; i++){ imgObj.push({ elm: imgs[i], src: imgs[i].getAttribute('data-src') }); } return imgObj; } var log = document.getElementById("log"); loadImgQueue(getLoadingImgs('imgContainer'), function(loaded, total, objItem){ objItem.elm.setAttribute('src', objItem.src); objItem.elm.removeAttribute('data-src'); log.innerHTML = "图片加载进度:" + parseInt((loaded/total)*100).toString() + "%"; if( loaded == total ){ imgContainer.style.display = 'block'; } }); </script> </body> </html>
给心灵一个纯净空间,让思想,情感,飞扬!