如何在elevateZoom中调用destroy函数?文档没有提及它,如果我在source中快速ctrl+f
,我会看到disable
的选项,但我不知道如何禁用或者毁掉elevateZoom?
我有以下代码:
HTML:
<img id="img_01" src="http://unilaboralgirona.com/wp-content/uploads/2015/03/ZContact.jpg" data-zoom-image="http://unilaboralgirona.com/wp-content/uploads/2015/03/ZContact.jpg"/>
JS:
$("img").elevateZoom({ zoomType : "inner", cursor: "crosshair" , easing : true });
setTimeout(function(){}
// how to destroy elevateZoom on image ?
,2000);
现在3秒后,我希望缩放功能不起作用(我这样做是为了隔离我的问题,现在请不要问一个反问题,为什么我这样做)。我在setTimeout()
内部elevateZoom
变得无法正常工作。
答案 0 :(得分:6)
由于Elevate Zoom没有本机销毁,您必须执行以下操作:
setTimeout(function(){
$.removeData($('img'), 'elevateZoom');
$('.zoomContainer').remove();
},2000);
这对我有用。希望这有帮助!
答案 1 :(得分:4)
您可以使用它。我需要在移动设备上关闭ElevatedZoom,因为Opencart有一个Gallerybox,人们可以通过两指滑动来轻松放大图像。所以...这就像一种魅力。
它很简单。如果无法禁用它,请尝试阻止它在适合您的条件下首先启动。 :-)
<script>
if ($(window).width() > 769) { $('#zoom').elevateZoom(); }
</script>
答案 2 :(得分:2)
一个更好的解决方案内置于elevatezoom:
var ezApi = $('#primaryImage').data('elevateZoom');
ezApi.changeState('disable');
答案 3 :(得分:0)
它只是覆盖了一个缩放的 div,所以如果你想暂时禁用它,只需隐藏那个覆盖窗口,然后再显示它。
// Get rid of it
$('.zoomWindowContainer').hide();
// Return it later
$('.zoomWindowContainer').show();
至少在我的实例中工作过。