jquery实现图片逐渐加载逐渐显示

大部份站长常用的方法

1、在头部<head></head>直接添加以下三段代码:

 代码如下 复制代码

<script type=”text/javascript” src=”js/jquery.js”></script>
<script type=”text/javascript” src=”js/jquery.lazyload.js”></script>

<script type=”text/javascript”>
var Img = “images/lazyload.gif”;
jQuery.noConflict()(function(){jQuery.noConflict()(“img”).lazyload({placeholder:Img,effect:”fadeIn”});});
</script>

2、把JS文件放在模板文件夹里,以及复制images文件里的lazyload.gif,粘贴到我们模板里的images文件夹里。OK完事!

经测试我们发现上面的代码只是一个延时加载效果没有起到直正的功能了,后来搜索发现一个解决办法

将真实图片地址写在 data-original 属性中,而 src 属性中的图片换成占位符的图片(例如 1x1 像素的灰色图片或者 loading 的 gif 图片)
添加 class="lazy" 用于区别哪些图片需要延时加载,当然你也可以换成别的关键词,修改的同时记得修改调用时的 jQuery 选择器
添加 width 和 height 属性有助于在图片未加载时占满所需要的空间

 代码如下 复制代码

<script src="js/jquery.js"></script>
<script src="js/jquery.lazyload.js"></script>

<img class="lazy" src="img/grey.gif" data-original="img/example.jpg" width="640" heigh="480">

$("img.lazy").lazyload();

这样就真的实现了延迟加载图片了,下面我把jQuery Lazy Load插件参数介绍一下

名称 默认值 说明
threshold 0 灵敏度。默认为 0 表示当图片出现在显示区域中的立即加载显示;设为整数表示图片距离 x 像素进入显示区域时进行加载;设为负数表示图片进入显示区域 x 像素时进行加载。
failure_limit 0 容差范围。页面滚动时,Lazy Load 会遍历延迟加载的图片,检查是否在显示区域内,默认找到第 1 张不可见的图片时,就终止遍历。因为 Lazy Load 认为图片的排序是与 HTML 中的代码中的排序相同,但是也可能会出现例外,通过该值来扩大容差范围。
event "scroll" 触发加载的事件 [Demo]
effect "show" 加载使用的动画效果,如 show, fadeIn, slideDown 等 jQuery 自带的效果,或者自定义动画。 [Demo]
effectspeed undefined 动画时间。作为 effect 的参数使用:effect(effectspeed)
container window 父容器。延迟加载父容器中的图片。 [Demo1] [Demo2]
data_attribute "original" 真实图片地址的 data 属性后缀
skip_invisible true 跳过隐藏的图片。图片不可见时(如 display:none),不强制加载。
appear null 图片加载时的事件 (Function),有 2 个参数:elements_left(未加载的图片数量)、settings(lazyload 的参数)。[Demo](参考 DEMO 的源代码)
load null 图片加载后的事件 (Function),有 2 个参数,同 appear 。[Demo](参考 DEMO 的源代码)
时间: 2024-10-28 15:23:14

jquery实现图片逐渐加载逐渐显示的相关文章

Jquery实现图片预加载与延时加载的方法_jquery

本文实例讲述了Jquery实现图片预加载与延时加载的方法.分享给大家供大家参考.具体分析如下: 有很多项目经常会需要判断图片加载完成后执行相应的操作,或者需要图片延迟加载,网上虽然已经有很不错的插件,但要为这些效果还得单独加载一个插件的话总感觉有点不舒服,干脆自己写了个方法: 复制代码 代码如下: function loadimg(arr,funLoading,funOnLoad,funOnError){  var numLoaded=0,  numError=0,  isObject=Obje

jquery实现图片预加载_jquery

使用jquery实现图片预加载提高页面加载速度和用户体,本就为大家详细分析jquery图片预加载的实现原理. 什么时候使用图片预加载? 如果页面使用了很多不是最初加载便可见的图片,有必要进行预加载: $.preloadImages = function () { for (var i = 0; i < arguments.length; i++) { $('img').attr('src', arguments[i]); } }; $.preloadImages('img/hover-on.pn

jQuery实现图片预加载效果_jquery

本文实例讲述了jQuery实现图片预加载效果代码.分享给大家供大家参考.具体如下: 运行效果截图如下: 具体代码如下: html代码: <div class="main"> <br> <div class="title">图片预加载</div> <div class="content"> <div class="img"> <a href="

jQuery.imgLazyLoad图片懒加载组件

一.前言 当一个页面中请求的图片过多,而且图片太大,页面访问的速度是非常慢的,对用户的 体验非常不友好:使用图片懒加载,可以减轻服务器的压力,增加页面的访问量,这里主要是总结一下我自己写的图片懒加载组件 jQuery.imgLazyLoad:使用该组件应在img标签中设置一个imglazyload-src属性,存放图片地址. 二.应用实例demo /**  * component: imgLazyLoad 2013/12/12 华子yjh  * invoking: jQuery.imgLazyL

jQuery 判断图片是否加载完成方法汇总_jquery

对于图片的处理,例如幻灯片播放.缩放等,都是依赖于在所有图片完成之后再进行操作. 今天来看下如何判断所有的图片加载完成,而在加载完成之前可以使用 loading 的 gif 图表示正在加载中. 一.普通方法 监听 img 的 load 方法,每 load 一张图片比较一次.关键代码如下: var num = $img.length; $imgs.load(function() { num--; if (num > 0) { return; } console.log('load compelet

js或者jquery判断图片是否加载完成实现代码_javascript技巧

网页中有时候需要获得图片的宽度和高度,来定义某些大小,可是这个是需要从服务端请求图片,下载到本地才能够得到的,有些js或者jquery代码在还没有加载完图片时就执行了.怎么办呢? jquery提供一个方法: 复制代码 代码如下: 01.$("").load(function(){...}); 其中选择器是图片的id或class,function里面的方法就是回调函数,在图片加载完成后执行,但是我试验了很多,压根儿不是那么回事,正确的解决方法是: 用js的onload方法: 复制代码 代

基于jquery的图片懒加载js_jquery

以下是实现代码(基于jquery): 复制代码 代码如下: function lazyload(option){ var settings={ defObj:null, defHeight:0 }; settings=$.extend(settings,option||{}); var defHeight=settings.defHeight,defObj=(typeof settings.defObj=="object")?settings.defObj.find("img

jQuery简单实现图片预加载

    jQuery实现图片预加载:   我们在做网站的时候经常会遇到这样的问题:一个页面有大量的图片导致页面加载速度缓慢,经常会出现一个白页用户体验很不好.那么如何解决这个问题呢?下面我来介绍一种在实际应用中经常会使用到的js预加载的方法. JS代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 $(function(){ loadImg("fd039245d688d43f14f69eff7f1ed21b0ef43b5b.gif",ad

jQuery简单实现图片预加载_jquery

jQuery实现图片预加载 JS代码 $(function(){ loadImg("yun_qi_img/fd039245d688d43f14f69eff7f1ed21b0ef43b5b.gif",addImg); function loadImg(url,callback){ var img = new Image(); img.onload = function(){ img.onload = null; callback(img); } img.src=url; img.widt