javascript - jQuery 和 Zoomooz.js 之间的冲突 : animate & zoomTarget at the same time

标签 javascript jquery jquery-animate zoomooz

我正在做一个心理学研究项目,所以我真的是 JavaScript 的初学者。不过,我必须完成这项工作,而且它非常具体。

我想在点击时放大页面的一个元素(书籍封面),同时在它旁边打开额外的内容(一些文本)并且我希望能够退出(关闭文本和一键缩小)。

到目前为止,我设法通过 zoomooz.js 轻松实现了缩放部分。我用 jQuery 得到了剩下的。我的书的封面和我的正文页面(每个一个 div)在一个更大的 div(“容器”)中彼此重叠。单击容器时,封面和文本会动画化:一个向左移动,另一个向右移动。单击容器外并使用 stopPropagation,它们会在中间返回到一起,按计划将文本隐藏在封面后面。

现在我的问题是,当我尝试使用 zoomooz 为我的 div 设置动画时,它们会发生冲突。那里的方式,放大,工作正常:同时缩放和动画。但是对于返回的方式,缩小,我无法让他们一起工作。 Zoomooz 接手。我尝试手动编写 zoomooz 代码,但我不知道自己在做什么 - 我只是觉得它与某处的“stopPropagation”有关。

下面是我的模型/测试页面,它包含所有内容并且应该使事情更清楚。如果有人能帮助我,我会很高兴。非常感谢。

<!DOCTYPE html>
<html>
<head>
  <style>
  div#main {background:yellow;z-index:1;}
  div#container {position:relative;
    width:232px;height:152px;border:2px dotted black;
    background:#eee;margin:0 auto;z-index:10;}
  div.cover {z-index:30;position:absolute;left:58px;
    background:blue;width:116px;height:152px}
  div.text {z-index:20;position:absolute;left:58px;
    background:green;width:116px;height:152px}
  p {font-size:0.3em;}
  </style>

<script src="http://code.jquery.com/jquery-latest.js"></script>
 <!-- ZOOMOOZ-->
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script>
 <script src="jquery.zoomooz.min.js"></script>
 <script type="text/javascript" src="src/js/jquery.zoomooz-helpers.js"></script>
 <script type="text/javascript" src="src/js/jquery.zoomooz-anim.js"></script>
 <script type="text/javascript" src="src/js/jquery.zoomooz-core.js"></script>
 <script type="text/javascript" src="src/js/jquery.zoomooz-zoomTarget.js"></script>
 <script type="text/javascript" src="src/js/jquery.zoomooz-zoomContainer.js"></script>
 <script type="text/javascript" src="src/js/purecssmatrix.js"></script>
 <script type="text/javascript" src="src/js/sylvester.src.stripped.js"></script>

</head>
<body>
<div id="main">
 <div id="container"> <!--ADD A class="zoomTarget" TO HAVE THE ZOOMING WORKING FINE BUT ONLY ONE WAY -->
  <div class="text">
   <p>aefpize gfo hzefoihze fozeoifhzeaefpize gfo hzefoihze fozeoifhzeaefpize gfo hzefoihze fozeoifhzeaefpize gfo hzefoihze fozeoifhzeaefpize gfo hzefoihze fozeoifhzeaefpize gfo hzefoihze fozeoifhze</p>
   <p>aefpize gfo hzefoihze fozeoifhzeaefpize gfo hzefoihze fozeoifhzeaefpize gfo hzefoihze fozeoifhzeaefpize gfo hzefoihze fozeoifhzeaefpize gfo hzefoihze fozeoifhzeaefpize gfo hzefoihze fozeoifhze</p>
   <p>aefpize gfo hzefoihze fozeoifhzeaefpize gfo hzefoihze fozeoifhzeaefpize gfo hzefoihze fozeoifhzeaefpize gfo hzefoihze fozeoifhzeaefpize gfo hzefoihze fozeoifhzeaefpize gfo hzefoihze fozeoifhze</p>
  </div>
  <div class="cover">
  </div>
 </div>
 </div>
</div>

<!-- script COVER + CONTENTS-->
<script>
$(document).ready(function() {
  $("#container").click(function(e) {
    $(".cover").animate({left: '0px'});
    $(".text").animate({left: '116px'});
     e.stopPropagation();
  });
  $(document).click(function() {
    $(".cover").animate({left: '58px'});
    $(".text").animate({left: '58px'});
  });
});
</script>

</body>
</html>

最佳答案

我明白了!

其实很简单。要缩小,我必须命令缩放到 body 。单独查看“缩小”编码:

<script>
 $(document).click(function() {
     $('body').zoomTo({targetsize:0.75, duration:600});
  });
</script>

作为更复杂的使用示例,整套功能组合在一起:

<script>
$(document).ready(function() {
 $(".cover").click(function(e) {
  $(this).animate({left: '0px'});
  $(this).siblings(".text").animate({left: '116px'});
  $(this).parent().siblings().fadeOut();
  $(this).parent().zoomTo({targetsize:0.75, duration:600});
   e.stopPropagation();
  });
 $(document).click(function() {
  $(".cover").animate({left: '58px'});
  $(".text").animate({left: '58px'});
  $(".container").fadeIn();
  $('body').zoomTo({targetsize:0.75, duration:600});
  });
});
</script>

关于javascript - jQuery 和 Zoomooz.js 之间的冲突 : animate & zoomTarget at the same time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13604233/

相关文章:

javascript - 推送时 ng-repeat 失败

javascript - 使用 javascript 从 html 列表中过滤元素

javascript - 本地存储与 AngularJS $cacheFactory

javascript - jqplot 如何使链接到另一个页面的条形图可点击

用于悬停的 jQuery 动画 'mouse direction'

javascript - AJAX工作流程: How do I order the execution of these functions?

javascript - 看不出我的 javascript 语法有什么问题吗?

jquery - JQPlot - 使 y 轴仅是整数?

javascript - 当多个项目包含所述类时,jQuery 按类显示/隐藏

jquery - 添加类不起作用时的动画