IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

js图片延时加载(jquery特效)

web前端开发 2012-08-07 13:36:08 累计浏览 4,452 次
本机暂存

    前段时间朋友说让给做一个js延时加载图片人功能,原来也的网上见过这些,但是没有具体的研究。今天学习了下,发出来和大家一直分享。至于延时加载的好处我在这里就不说了,好多朋友都说可以减少服务器短时间的请求数量。

    一、原理分析

     1.可显示区域的的图片正常显示,不可显示的不去请求,

    2.当滚动滚动条时,计算可显示的图片,把图片的src的真实路径写入。

    二、代码    

    这里我用的是jquery来做的,当然大家如果明白了原理,用什么做都可以做出很不错的效果。

    下面看代码

<!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=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 (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>
<img name="http://hj.bbs.nen.com.cn/attachments/10063010304e0ab3ca1c10b81c.jpg" src="hc.gif"  />
<br/>
<br/><br/><br/><br/><br/><br/><br/><br/><br/>

    这上面是代码,大家可以细细的研究一下,

    DEMO效果

同分类推荐文章

  1. translateZ() (2026-06-25 21:18:56)
  2. translateY() (2026-06-25 21:17:56)
  3. translateX() (2026-06-25 21:16:01)

查看更多 前端 文章 →

建议继续学习

  1. JQuery实现Excel表格呈现 (累计阅读 48,350)
  2. 深入理解Javascript之执行上下文(Execution Context) (累计阅读 18,404)
  3. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (累计阅读 15,933)
  4. 图片动态局部毛玻璃模糊效果的实现 (累计阅读 14,849)
  5. 天朝第二代身份证号码的验证机制 (累计阅读 14,762)
  6. HTML 5 的data-* 自定义属性 (累计阅读 14,349)
  7. 分享一个JQUERY颜色选择插件 (累计阅读 14,223)
  8. 什么是全栈工程师? (累计阅读 14,038)
  9. 快速排序(Quicksort)的Javascript实现 (累计阅读 11,735)
  10. 7 天打造前端性能监控系统 (累计阅读 11,187)