首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cloud Zoom和jQuery mouseleave()

Cloud Zoom和jQuery mouseleave()
EN

Stack Overflow用户
提问于 2012-02-23 00:13:48
回答 1查看 3.8K关注 0票数 1

我正在使用Cloud Zoom创建一个用于查看产品的缩放功能,我想激活鼠标点击时的缩放(这很好用),但是当我尝试添加关闭鼠标左键缩放的功能时,有这些“小故障”,我似乎不能考虑-如果我离开初始化区域的容器非常慢,我可以触发关闭脚本。但是如果我相当快地将鼠标拖到页面的另一部分,则不会发生任何反应。

HTML

代码语言:javascript
复制
<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

代码语言:javascript
复制
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;
  }
});
EN

回答 1

Stack Overflow用户

发布于 2012-02-23 07:01:47

我也有同样的问题。

在cloud-zoom.1.0.2.min.js中查找此函数:

(如果缩小了,只需搜索"mouseleave",只有一个函数。)

代码语言:javascript
复制
$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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9398557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档