交换插件的'data-zoom-image'属性值?

时间:2015-08-10 02:31:28

标签: javascript jquery jquery-plugins image-zoom

我正在使用Elevate Zoom插件,当您将鼠标悬停在缩略图上时会显示完整尺寸的图片:http://www.elevateweb.co.uk/image-zoom/examples

我有一些JQuery交换缩略图src,例如:

HTML

<div id="primaryimage">
<img src="image1.jpg" data-zoom-image="image1.jpg"">
</div>

JQuery的

$("#prodimages img").click(function() {
     var imgsrc = $(this).attr("src");
    $("#primaryimage img").attr("src", imgsrc);
});

但是,我似乎无法交换data-zoom-image属性来交换较大的放大图像。

到目前为止,我已经尝试过:

$("#primaryimage img").attr("data-zoom-image", imgsrc);

$("#primaryimage img").data("data-zoom-image", imgsrc);

并在点击功能中重新激活插件:

$("#primaryimage img").elevateZoom({
zoomWindowFadeIn: 500,
zoomWindowFadeOut: 500,
lensFadeIn: 500,
lensFadeOut: 500
});

$("#primaryimage img").data("data-zoom-image", imgsrc);

没有影响。

任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:0)

尝试将$("#primaryimage img").data("data-zoom-image", imgsrc);更改为$("#primaryimage img").data("zoom-image", imgsrc);,因为在调用.data()函数时无需附加数据

答案 1 :(得分:0)

在这里找到答案:How to change data-zoom-image value

必须使用新的图片网址数据重新初始化Elevate Zoom。

我的完整代码:

$("#prodimages img").click(function() {
     var imgsrc = $(this).attr("src");
    $("#primaryimage img").attr("src", imgsrc);


    $("#primaryimage img").data('zoom-image', imgsrc).elevateZoom({
    zoomWindowFadeIn: 500,
    zoomWindowFadeOut: 500,
    lensFadeIn: 500,
    lensFadeOut: 500
    });

    $("#primaryimage img").data("zoom-image", imgsrc);
});

答案 2 :(得分:0)

无需重新初始化提升缩放。只需按照支持的代码交换图像:

 var ez = $('#YourZoomId').data('elevateZoom');
 ez.swaptheimage(smallImageURL, largeImageURL);