【发布时间】:2018-08-08 18:03:35
【问题描述】:
我正在尝试在页面上延迟加载多个背景图像。我从数据属性data-src 中获取背景图像。加载图片后,我想删除 data-src 数据属性:
$(window).on('load', function() {
$.fn.loadbgimg = function () {
$('.jumbo[data-src]').each(function(index) {
var top_of_object = $(this).offset().top;
var bottom_of_window = $(window).scrollTop() + $(window).height();
/* If the object in the window */
if( bottom_of_window > top_of_object ) {
// get datasrc
datasrc = $(this).data('src');
// replace bg with data-src
$(this).css("background-image", "url('" + datasrc + "')");
// remove data-src when img loaded
$(this).on('load', function() {
$(this).removeAttr('data-src');
});
}
});
};
$('.jumbo').loadbgimg();
/* Every time the window is scrolled ... */
$(window).scroll( function(){
$('.jumbo').loadbgimg();
});
});
除了最后一部分“加载 img 时删除 data-src”外,一切似乎都正常。这是无所作为。数据属性没有被删除。有什么想法吗?
【问题讨论】:
标签: jquery