jquery html异步加载图片,jquery实现异步加载图片(懒加载图片一种方式)

本文介绍了如何使用jQuery实现图片的异步加载,即懒加载技术。通过创建一个jQuery插件,动态加载当图片进入视口时才开始加载,提高网页性能。文章还提供了详细的代码示例,包括如何初始化插件和设置图片的data-url属性来指定实际要加载的图片地址。
摘要由CSDN通过智能技术生成

jquery实现异步加载图片(懒加载图片一种方式)

发布时间:2020-08-26 08:45:03

来源:脚本之家

阅读:111

作者:专注前端30年

首先将插件在jq后面引入

(function($) {

// alert($.fn.scrollLoading);

$.fn.scrollLoading = function(options) {

var defaults = {

attr: "data-url"

};

var params = $.extend({}, defaults, options || {});

params.cache = [];

$(this).each(function() {

var node = this.nodeName.toLowerCase(),

url = $(this).attr(params["attr"]);

if(!url) {

return;

}

var data = {

obj: $(this),

tag: node,

url: url

};

params.cache.push(data);

});

var loading = function() {

var st = $(window).scrollTop(),

sth = st + $(window).height();

$.each(params.cache, function(i, data) {

var o = data.obj,

tag = data.tag,

url = data.url;

if(o) {

post = o.position().top;

posb = post + o.height();

if((post > st && post < sth) || (posb > st && posb < sth)) {

if(tag === "img") {

o.attr("src", url);

} else {

o.load(url);

}

data.obj = null;

}

}

});

return false;

};

loading();

$(window).bind("scroll", loading);

};

})(jQuery);

然后在底部初始化

$(document).ready(function () {

//实现图片慢慢浮现出来的效果

$("img").load(function () {

//图片默认隐藏

$(this).hide();

//使用fadeIn特效

$(this).fadeIn("5000");

});

// 异步加载图片,实现逐屏加载图片

$(".scrollLoading").scrollLoading();

});

需要修改img标签为

load.gif

data-url表示将要异步加载的图片,src表示首先加载的图片(一般会是小图片,或者是一个动画,网页中全部的src链接同一个图片,这样网页就加载快好多,这个时候再异步的加载要加载的图片,也就现在要说的功能)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值