当前位置:编程学习 > JS >>

js控制图片延时加载

注重网页显示速度的常用这个手段。意思就是滚动条没滚到的就先不加载。

整理了下网上资料,总结如下。

原理:

1.先不把img标签的src赋实际的图片路径

2.将图片路径保存在img的name属性中

3.js判断图片是否在可视窗口内,取出name的值,赋给src,此刻才加载图片。

我这里使用的是jquery。


[html] 
<!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>  www.zzzyk.com
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<script src="http://blog.suiyidian.cn/texiao/jquery-1.3.1.js" type="text/javascript"></script> 
<title>js图片延时加载特效</title> 
<script type="text/javascript"> 
    $(function () { 
        var d = new Array(); 
        for (var i = 0; i < $("img").length; i++) { 
            d[i] = $("img").eq(i).attr("name"); 
        } 
         
        for (i = 0; i < $("img").length; i++) { 
            if ($("img").eq(i).offset().top > document.documentElement.clientHeight + $(window).scrollTop()) { 
                $("img").eq(i).attr("src", "hc.gif"); 
            } else { 
                $("img").eq(i).attr("src", d[i]); 
            } 
        } 
 
        $(window).scroll(function () { 
            for (i = 0; i < $("img").length; i++) { 
                if ($("img").eq(i).offset().top > document.documentElement.clientHeight + $(window).scrollTop()) { 
                    $("img").eq(i).attr("src", "hc.gif"); 
                } else { 
                    $("img").eq(i).attr("src", d[i]); 
                } 
            } 
        }); 
    }) 
</script> 
</head> 
<body> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/> 
<img name="http://bbs.525j.com.cn/upload/uploadfile/2005-9/200592922650386.jpg" src="hc.gif"  /> 
<br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/> 
<img name="http://bbs.525j.com.cn/upload/uploadfile/2005-9/200592922650386.jpg" src="hc.gif"  /> 
<br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/> 
<img name="http://bbs.525j.com.cn/upload/uploadfile/2005-9/200592922650386.jpg" src="hc.gif"  /> 
<br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/> 
<img name="http://bbs.525j.com.cn/upload/uploadfile/2005-9/200592922650386.jpg" src="hc.gif"  /> 
<br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/> 
<img name="http://bbs.525j.com.cn/upload/uploadfile/2005-9/200592922650386.jpg" src="hc.gif"  /> 
<br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/> 
<img name="http://bbs.525j.com.cn/upload/uploadfile/2005-9/200592922650386.jpg" src="hc.gif"  /> 
<br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/> 
<img name="http://bbs.525j.com.cn/upload/uploadfile/2005-9/200592922650386.jpg" src="hc.gif"  /> 
<br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/&

补充:web前端 , JavaScript ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,