2012-02-22 5 views
1

Cloud Zoomを使用して商品を表示するためのズーム機能を作成していますが、ズームを閉じる機能を追加しようとしたときにマウスのクリックによるズームを有効にしたいマウスを残しておけば、私は頭がおかしくなっていないような "不具合"があります。私はinit領域のコンテナを非常にゆっくりと残しておくと、クローズスクリプトを起動できます。しかし、私がマウスをむやみにページの別の部分にドラッグすると、何も起こりません。クラウドズームと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で

は、この機能を探してください:

(。ただ一つだけの機能があり、 "mouseleave" を検索縮小されます場合)

$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 
}); 

falseを返すことが問題のようです。それを削除するか、「event.preventDefault();」を使用してください。代わりに動作します。

+0

JavaScriptロギングユーティリティの一部のブラウザでこのエラーが発生することがありますが、エラーは表示されません。私もCloud Zoom v1.0.2を使用しています。私は今日、このバージョンをもうサポートしていないことを学び、v3(http://www.starplugins.com/checkout/)に移行しました。私は 'return false'を削除しようとしましたが、FF、IE7/8/9、Chrome、iPhoneやiPadのMobile Safariに悪影響を及ぼすことはありません。ただし、すべてのブラウザでこの問題が修正されているかどうかを検証するまで待つ必要があります。しかし、共有していただきありがとうございます。 – crmpicco