如何禁用elevateZoom?

Ale*_*nik 6 javascript jquery jquery-plugins

如何在elevateZoom中调用destroy函数?文档没有任何提及,如果我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"/> 
Run Code Online (Sandbox Code Playgroud)

JS:

 $("img").elevateZoom({ zoomType    : "inner", cursor: "crosshair" , easing : true });

setTimeout(function(){}
      // how to destroy elevateZoom on image ? 
,2000); 
Run Code Online (Sandbox Code Playgroud)

现在3秒后,我希望缩放功能不起作用(我这样做是为了隔离我的问题,现在请不要问一个反问题为什么我正在这样做).我怎么办setTimeout()elevateZoom变得无功能.

骗子在这里

Hun*_*ner 6

由于Elevate Zoom没有本机销毁,因此您必须执行以下操作:

setTimeout(function(){
      $.removeData($('img'), 'elevateZoom');
      $('.zoomContainer').remove();
},2000); 
Run Code Online (Sandbox Code Playgroud)

这适合我.希望这可以帮助!


Jas*_*ngh 5

elevatezoom 内置了一个更好的解决方案:

var ezApi = $('#primaryImage').data('elevateZoom');
ezApi.changeState('disable');
Run Code Online (Sandbox Code Playgroud)

  • 我还必须隐藏 `$('.zoomContainer')` div,因为它覆盖在其他东西上 (2认同)