1
我几乎有这个工作。使用jQuery缩放延迟加载的图像
我能够获得部分图像缩放,但不是全部。它好像正在创建的包装和.zoom()
被图像和图像占位符transparent.gif
这里既有上运行的是JS功能之前,HTML:
<img alt="Transparent" class="lazy zoomer" data-original="assets/find_pro.png" src="/assets/transparent.gif">
这之后:
<span style="display: inline-block; position: relative; overflow: hidden;">
<span style="display: inline-block; position: relative; overflow: hidden;">
<img alt="Transparent" class="lazy zoomer" data-original="assets/find_pro.png" id="tester" src="assets/find_pro.png" width="800" style="display: block;">
<img src="assets/find_pro.png" class="zoomImg" style="position: absolute; top: -120.24242424242425px; left: -58.392144638404px; opacity: 0; width: 1211px; height: 539px; border: none; max-width: none;">
</span>
<img src="/assets/transparent.gif" class="zoomImg" style="position: absolute; top: 234.17100371747213px; left: 108.07543640897755px; opacity: 0; width: 45px; height: 45px; border: none; max-width: none;">
</span>
当我删除多余的图像节点和额外span
,一切工作正常:
<span style="display: inline-block; position: relative; overflow: hidden;">
<img alt="Transparent" class="lazy zoomer" data-original="assets/find_pro.png" id="tester" src="assets/find_pro.png" width="800" style="display: block;">
<img src="assets/find_pro.png" class="zoomImg" style="position: absolute; top: -100.84848484848484px; left: -402.1153366583541px; opacity: 0; width: 1211px; height: 539px; border: none; max-width: none;">
</span>
下面是我用JS:
$('img.lazy').load(function() {
if ($(this).hasClass("zoomer")) {
$(this)
.wrap('<span style="display:inline-block"></span>')
.css('display', 'block')
.parent()
.zoom();
}
});
$("img.lazy").lazyload({
threshold : 200,
effect : "fadeIn"
});
我不知道为什么,但是这仍然不是为我工作! – Abram
也许回调在.lazyload中应用包装会更好? – Abram
我看不到您的'测试文档'中反映的更改。 –