jquery - 延迟加载不添加到背景图像的链接
问题描述
我在 html 中有这段代码:
echo '<div class="sponsors__item-bg-img lazy-load" data-original="'.$sponsor_item['image'].'" style="background-image: url();" src="https://static.questex.asia/template7/images/grey.gif" ></div></a>';
jquery.lazyload.js 得到了这部分:
$self.one("appear", function() {
if (!this.loaded) {
if (settings.appear) {
var elements_left = elements.length;
settings.appear.call(self, elements_left, settings);
}
$("<img />")
.bind("load", function() {
var original = $self.attr("data-" + settings.data_attribute);
$self.hide();
if ($self.is("img")) {
$self.attr("src", original);
} else {
$self.css("background-image", "url('" + original + "')");
}
$self[settings.effect](settings.effect_speed);
self.loaded = true;
/* Remove image from array so it is not looped next time. */
var temp = $.grep(elements, function(element) {
return !element.loaded;
});
elements = $(temp);
if (settings.load) {
var elements_left = elements.length;
settings.load.call(self, elements_left, settings);
}
})
.attr("src", $self.attr("data-" + settings.data_attribute));
}
});
但是最终的结果是图片没有加载,因为url不是js添加的:
<div class="sponsors__item-bg-img lazy-load" data-original="https://img.questex.asia/sites/default/files/styles/219x164/public/BizProLogo.jpg?itok=KLf9ojX0&timestamp=1527822985" style="background-image: url();" src="https://static.questex.asia/template7/images/grey.gif"></div>
任何人都知道我如何检查发生了什么或我应该如何解决问题?谢谢。
解决方案
推荐阅读
- javascript - 仅在使用 useEffect 卸载组件时执行功能
- algorithm - 如何从 perl 中的列表中获取未知模式?
- ruby-on-rails - 制作下拉菜单并在 Rails 中获取值
- java - 打印数字随着它减少但它跳过了应该打印的东西
- python - 为什么在 Google Colab 中运行此 python 代码时我没有得到任何结果
- c - addrinfo 结构在函数调用后不保留值
- c# - 自定义验证器检查在文本框中输入的年龄
- r - 带有 Cbind 的 xTabs - 将报告的值拆分为子类别
- r - 在 R 中应用带有 group_by 的调整后的箱线图方法 adjboxstats()?
- amazon-web-services - AWS CLI 命令修改/裁剪输出?