当滚动条条滚动到图片位置再显示图片,像淘宝,京东等网站都采用了这样的js技术,这样可以是带宽使用减少,也可以增加用户体验。
下面将滚动条到图片才能显示图片的构思说一下:
即:当滚动条滚动时出发检查事件,检查每一个图片位置,当图片距离页面顶部位置小于滚动条加上浏览器高度时,则图片进行显示输出
jquery代码如下
首先将图片,设置一个value属性,让其为真实图片位置值,设置另一个src为一个小图片为等待图片。当图片达到图片位置时,将value值赋给src即可。
$(function(){
$(window).scroll( function() {
$("img").each(function(i){
if($(this).offset().top<($(window).height()+document.documentElement.scrollTop-200)){
$(this).attr("src",$(this).attr("value"));
}
});
});
});
解释一下上面的代码,本代码采用jquery弄的, offset().top是获取图片距离顶部高度当小于滚动条滚动距离document.documentElement.scrollTop加上浏览器高度$(window).height()时则进行显示,在这里-200是为了看效果,当图片出来200像素的 时候才进行图片显示
网上采用了jquery的jquery.lazyload.js公开组件,代码如下:
$(function(){
$("img").lazyload({
placeholder : "默认等待图片",
effect : "fadeIn"
});
});
采用的jquery的组件:下载lazyload.js
<script language="javascript" src="jquery.lazyload.js"></script>
这就是当滚动条到图片处才显示图片的代码。
更多信息请查看IT技术专栏