我几乎有这个工作。
我可以放大图像的一部分,但不能放大全部。似乎正在创建包装器并.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>
当我删除额外的图像节点和 extraspan
时,一切正常:
<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"
});