私は心理学の研究プロジェクトを行っているので、JavaScript の初心者です。それでも、私はこれを成し遂げなければならず、それは非常に具体的です。
ページの要素 (本の表紙) をクリックしてズームし、同時にその横に余分なコンテンツ (テキスト) を開き、外に出られるようにしたい (テキストを閉じて元に戻す) ) ワンクリックで。
これまでのところ、 zoomooz.jsを使用してズーム部分を簡単にすることができ、残りは jQuery を使用して取得しました。私の本の表紙とテキスト ページ (それぞれ 1 つの div) は、より大きな div (「コンテナー」) 内で互いに重なり合っています。コンテナーをクリックすると、カバーとテキストがアニメーション化されます。一方は左側に移動し、もう一方は右側に移動します。コンテナーからクリックして出て stopPropagation を使用すると、それらは途中で元に戻り、計画どおりカバーの後ろにテキストを隠します。
今私の問題は、divのアニメーション化中にzoomoozを使用しようとすると、それらが競合することです。ズームインは問題なく機能します。ズームとアニメーションを同時に行うことができます。しかし、途中でズームアウトすると、それらを一緒に動作させることができません。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>