js 延迟几秒执行ifarme_jQuery实现图片和iframe等延迟加载

对于电子商务进入优化阶段,由于过多的图片加载,给网站带来过度的负载,影响了访问速度。接下来我将介绍一个基于jQuery的插件来处理这些问题,

这个插件就是jquery.scrollLoading.js。

一下是插件源码:

/*

* jquery.scrollLoading.js

* 2010-11-19 v1.0

*/

(function ($) {

$.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;

if (post < 10)

post = o.offset().top;

posb = post + o.height();

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

//在浏览器窗口内

if (tag === "img") {

//图片,改变src

o.attr("src", url);

} else if (tag == "iframe") {

o.attr("src", url);

} else if (tag == "span") {

eval(url);

}

else {

o.load(url);

}

data.obj = null;

}

}

});

return false;

};

//事件触发

//加载完毕即执行

loading();

//滚动执行

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

};

})(jQuery);引用方法:$(function(){ $('img').scrollLoading(); });

注意html文件:

属性data-url 必须有而且url为图片实际地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值