知识大全 网页前端优化之滚动延时加载图片示例

Posted

篇首语:心静可以生慧,行善方能得福。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 网页前端优化之滚动延时加载图片示例相关的知识,希望对你有一定的参考价值。

做web开发的朋友都应该掌握前端优化这个技巧 其中一个就是滚动延时加载 这个技巧应用在了很多地方 比如新浪微博网页版 以下就为大家详细介绍 需要的朋友可以参考下  

  为什么要延时加载呢?页面加载的时候就显示全部的图片不就得了?有必要多此一举吗?答案是肯定的 当要加载的图片或者内容很多时 如果一次性加载完 毕 那么整个页面将会加载很久 意味着要用户等待很久 这是对用户不友好的 或许你还会问 那不就做个分页不就得了?其实这种滚动延时加载的技巧正是用来 代替手动点击下一页的分页技术 每换一页都要用户点击一次 这也是对用户不友好的 所以才有了滚动延时加载

  我这里把加载图片作为例子 就好像百度图片里的一样 你往下滚动 它就会继续显示下一页的图片

  要求是这样的 比如我要加载 张图片 在页面加载完毕后我先加载 张(前提是 张已经占满浏览器窗口高度) 当滚动条滚动到浏览器底部的时候再加载 张 一共加载 次

  原理是这样的 先获取当前浏览器的窗口高度a 然后给页面绑定一个滚动条滚动事件 当滚动条滚动的时候 首先判断时候已经加载了 张 如果小于 张 再获取当前文档距离顶部的高度b以及图片内容的高度c 如果a+b>=c 继续加载 张图片

  我说过 我喜欢以尽可能少的代码以及尽可能简单的demo来为有需要的人展示一些强大的功能 因为所有的东西原理其实都很简单 越简单的demo越容易让人理解和接受 所以代码很少 直接上代码

复制代码 代码如下: <!DOCTYPE > < xmlns=" <head>     <meta equiv="Content Type" content="text/; charset=utf " />     <title>页面滚动延迟加载图片</title>     <style type=text/css>         body             margin: px;                 ul             list style: none;             margin: px;             padding: px;             </style>     <script type=text/javascript src=jquery min js></script>     <script type=text/javascript>         var n = ;         var winHeight = $(window) height();         $(function ()             loadimg();             $(window) scroll(function ()                 if (n < )                     var docTop = $(document) scrollTop();                     var contentHeight = $("#content") height();                     if (docTop + winHeight >= contentHeight )                         loadimg();                                                 );         );         function loadimg()             for (i = ; i < ; i++)                 $("#content") append("<li><img src= jpg /></li>");                         n += ;             </script> </head> <body>     <ul id="content">     </ul> </body> </>

   这 里使用了jqury框架是为了让代码更少更简单 如果你可以手写纯js代码来实现这个功能当然最好不过 毕竟是优化 这个小小的功能也不需要使用到任何 js框架 不过个人比较喜欢jquery框架 毕竟在大项目中 手写纯js代码将会严重拖慢整个项目的进度 有一个强大的js框架摆在面前 合理运用还是 能提高开发效率的 而且在一个大项目中 jquery不是仅仅能帮你实现这个小小的功能而已 像Ajax 它是能轻轻松松就能帮你搞定的 另外我这里只是 写死了加载这一张图片 事实上它应该是使用Ajax来请求新的图片 然后加载到页面里的 因为想尽量简单 就没有涉及后台逻辑 所以只加载这一张图片

cha138/Article/program/Java/JSP/201311/20174

相关参考

知识大全 js图片延迟加载的实现方法及思路

这里延迟加载的意思是拖动滚动条时在图片出现在浏览器显示区域后才加载显示   大概的实现方式是在页面的load没有触发之前把所有的指定id的元素内的img放入到imgs中将所有的图片的src值

知识大全 图片加载进度实时显示

  <> <head><metaequiv="ContentType"content="text/;charset=gb"><title>网页

知识大全 为什么qq空间主页上的图片总是加载失败

为什么qq空间主页上的图片总是加载失败?造成QQ空间这些不正常的原因是:1、Flash插件未安装或失效;2、网页缓存未清除;3、IE组件未注册。之后,直接从问题项内点击“开始修复”就解决问题了。在电脑

知识大全 js延时加载defer

cha138/Article/program/Java/JSP/201311/19805

知识大全 linux生成(加载)动态库静态库和加载示例方法

  动态库的生成  /*mysumc*/    复制代码代码如下:  #include<stdioh>#includesrch  intsum(intaintb)return(a+b);&

知识大全 固定背景实现的背景滚动特效示例

  分享一个来自corpse的固定背景滚动特效使用backgroundattachment:fixed和导航菜单页面会非常平滑的滚动   HTML代码如下:<divid="cbpfbs

知识大全 网页标准的随滚动条滚动的广告特效

cha138/Article/program/Java/Javascript/201311/25350

知识大全 vivox13l手机qq上加载图片老是显示加载图片失败什么情况

vivox13l手机qq上加载图片老是显示加载图片失败什么情况您好!根据您的描述,建议您尝试以下操作:1、建议您更换网络试试的。2、您可以进入设置--更多设置--应用程序--已安装,找到QQ,点击清除

知识大全 jQuery图片滚动图片的效果

jQuery图片滚动图片的效果  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 这个效果是

知识大全 手机qq空间图片怎么加载不了

手机qq空间图片怎么加载不了您好,看看是不是你禁止加载图片了,或者清除一下浏览器的缓存,希望我的回答能够帮助你,望采纳,谢谢。手机QQ空间为什么不能加载大图片你好!首先打开手机QQ空间,【我的空间】—