2012-02-22 72 views
1

我使用Cloud Zoom创建了产品查看的缩放功能,我想在点击鼠标时启用缩放(这很好用),但是当我尝试添加功能以关闭缩放时鼠标离开这些'毛刺',我似乎无法得到我的头 - 如果我非常缓慢地离开容器的init区域,我可以触发结束脚本。但是,如果我将鼠标快速拖到页面的另一部分,则不会有任何反应。Cloud Zoom和jQuery mouseleave()

HTML

<div id="product-image"> 
    <a href="images/product-sample-zoom.jpg" class="cloud-zoom" rel="adjustX: 10, adjustY: -4"><img src="images/product-sample.jpg"></a> 
</div> 

JS

var $zoomInit = false; 
$('.cloud-zoom').click(function(e) { 
    $('.cloud-zoom').CloudZoom({ showTitle: false }); 
    $zoomInit = true; 
    e.preventDefault(); 
}); 
$('#product-image').mouseout(function() { 
    if ($zoomInit == true) { 
    $('.cloud-zoom').data('zoom').destroy(); 
    $zoomInit = false; 
    } 
}); 

回答

0

我有thew完全相同的问题。

在云zoom.1.0.2.min.js

查找此功能:

(如果它只是精缩搜索“鼠标离开”,只有一个函数)。

$mouseTrap.bind('mouseleave',this,function(event){ 
    clearTimeout(controlTimer); 
    if(lens){ 
     lens.fadeOut(299) 
    } 
    if($tint){ 
     $tint.fadeOut(299) 
    }if(softFocus){ 
     softFocus.fadeOut(299) 
    } 
    zoomDiv.fadeOut(300, 
     function(){ 
      ctx.fadedOut() 
     }); 
    return false 
}); 

返回错误似乎是问题所在。删除它或使用“event.preventDefault();”反而工作。

+0

我的JavaScript日志实用程序中的某些浏览器偶尔会看到此错误,但我从来没有看到错误。我也在使用Cloud Zoom v1.0.2,今天早些时候我已经了解到他们不再支持这个版本,现在已经转到v3(http://www.starplugins.com/checkout/)。我曾尝试删除'return false',并且它对iPhone,iPad上的FF,IE7/8/9,Chrome,Mobile Safari没有任何不利影响,因此很好。但是,我需要等到它可以在所有浏览器上测试以验证这是否是修复。尽管如此,感谢分享。 – crmpicco 2013-05-06 09:47:49