如何更改数据缩放图像值
我正在使用提升缩放效果来缩放图像,我的图像标记是:
和elevatezoom脚本是:
$("#zoom_01").elevateZoom({scrollZoom : true});
我有很多想要缩放的图像,同样的id,src值正在改变,但是我无法改变数据缩放图像的值。如何更改数据缩放图像值,你也可以访问任何[e coomerce website我想说的是什么。 1
更改数据缩放图像属性后,您需要使用elevateZoom
重新初始化,如下所示:
$("#zoom_01").data('zoom-image', 'newURL').elevateZoom({ responsive: true, zoomType: "lens", containLensZoom: true });
如果您想要显示缩放的更改图像,只需执行此操作即可
$('.zoomWindowContainer div').stop().css("background-image","url("+ changed_image +")");
我想你需要这个……
$("#zoom_01").attr('data-zoom-image', 'new path');
我在这里遇到完全相同的问题,想通了:它可能不起作用,因为插件不支持更改该特定属性 – 它有自己的图库function。 他们自己的文档中有错误,这是它的工作原理:
主图像和缩略图的HTML:
用于初始化库的jQuery:
$("#bigpic").elevateZoom({ gallery:'gal1', galleryActiveClass: 'active'
- 加上你想要的任何其他属性
用于将图像传递到主容器的jQuery:
$("#bigpic").bind("click", function(e) { var ez = $('#bigpic').data('elevateZoom'); $.fancybox(ez.getGalleryList()); return false; });
我是jQuery的新手,我并不是真的100%理解这里的机制,但这就是我如何使它工作,我希望它适合你!
在js中包含以下代码,它可以解决您的问题在变量smallImage中给出新小图像的url,并在largeImage中给出新大图像的url。 希望这可以解决您的问题,而无需重新升级您的提升缩放。
var ez = $("#zoom_01").data("elevateZoom"); ez.swaptheimage(smallImage, largeImage);
您只需使用插件本身提供的库function,只需将图像包装到容器中即可
那么你必须像这样调用插件:
$("#zoom_x").elevateZoom({ gallery: "my_images", zoomType : "inner", cursor: "crosshair", imageCrossfade: true });
var zoomElement = $('#zoom_01'); // destroy old one zoomElement.removeData('zoom-image'); $('.zoomContainer').remove(); // set new one zoomElement.attr('data-zoom-image', image_large_size); zoomElement.attr('src', image_normal_size); // reinitial elevatezoom zoomElement.elevateZoom();