Jquery PlugIn for lazy loading items.

本文介绍了一种使用jQuery实现的懒加载插件,该插件能够有效地延迟页面中某些元素的加载,直到这些元素出现在用户的可视区域内。通过这种方式,可以显著提高网页的初始加载速度并节省带宽资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//lazy load image
(function ($) {
$.fn.onScroll = function (options) {
var defaultOpt = {
callback: null,
params: null,
reserve: 0
};
var opt = $.extend({}, defaultOpt, options);
var $this = $(this);
var _checkScreen = function(ignoreCache){
var scrolltop = $(window).scrollTop();
var wheight = $(window).height();
var offsetTop = $this.offset().top;
if (offsetTop >= scrolltop && offsetTop <= (scrolltop + wheight + (ignoreCache === true ?0:opt.reserve))) {
if ($.isFunction(opt.callback)) {
opt.callback($this, opt.params);
} else {
$(document).trigger(opt.callback, [$this, opt.params]);
}
}
}
$(document).on('dom.scroll', _checkScreen);
_checkScreen(true);
};
$(document).on('dom.load', function () {
$("[data-onscroll]").each(function () {
var $this = $(this);
$this.onScroll({
callback: $this.attr('data-onscroll'),
params: $this.attr('data-onscroll-params'),
reserve: Number($this.attr('data-reserve')) || 0
})
$this.removeAttr("data-onscroll");
});
});
})(jQuery);

PlugIn for lazy loading items.


Usage:

<iframe class="shown" data-onscroll="informaScrollToEvent" data-src="<%= informaUrl %>" width="100%" frameborder="0" height="500px" style="border:1px solid #d7d7d7;"></iframe>
$(document).one('informaScrollToEvent', function (e, iframe, params) {
            var url = $(iframe).attr('data-src');
            $(iframe).attr('src', url);
            $(iframe).removeAttr('data-src');
        });




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值