2012-02-22 38 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