标签:
<body>
<button>加载图片</button>
<img src="test.png" alt="测试" data-original = "test2.png">
<script>
var oBtn = document.getElementsByTagName(‘button‘)[0];
var oImg = document.images[0];
//延迟加载,给图片加了 载入事件
function aftLoadImg(obj, url){
var oImg = new Image();
oImg.onload = function(){
obj.src = oImg.src;
}
oImg.src = url;
}
oBtn.onclick = function(){
oImg.src = "test2.png"; // 如果图片不是很大,就直接改一下src就可以了,
for (var pro in oImg.dataset) { //这里证明,dataset里面有一个orignial属性,是test2.png。
document.write(pro + " " +oImg.dataset[pro] + "</br>");
//会打印出 original test2.png
}
//如果觉得图片有点大,就直接加载一个事件,上面已经说明过,图像是有onload事件的,等加载完毕后在显示。
if(oImg.dataset){ //是否可以获取dataset属性。
aftLoadImg(oImg, oImg.dataset.original);
}
else{
aftLoadImg(oImg,oImg.getAttribute("data-original"));
}
}
</script>
</body>
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.lazyload.js" type="text/javascript"></script>
b. 需要懒加载的图片, ①.增加 data-original="图片真实地址"
②.页面所有的img标签的src属性指向同一个图片(图片未加载时,显示的一张临时图)
③.图片一定要设置 width 与 height
注意:这点你可能没办法接受,因为需要改变你的html
<img src="img/grey.gif" data-original="img/example.jpg" width="640" height="480">
$("img.lazy").lazyload();
标签:
原文地址:http://www.cnblogs.com/hgonlywj/p/4860493.html