トランジションが正しく行われたが、トランジションが行われたあとにパースペクティブ:800pxが動作しているかのように、トランジションは適切ですが、2回目になります。 センター以外のエッジを中心に回転を設定する方法も教えてください。 私はtransform-originについて知っていますが、transform-axisなどは何も分かりません。RotateYトランジションが正常に動作しない
私が上にカーソルを置くと、これらの画像はウィンドウのように開く必要があります。
var left=document.getElementById("left");
var right=document.getElementById("right");
function curtain() {
\t left.style.transform="rotateY(70deg)";
\t right.style.transform="rotateY(-70deg)";
}
function back() {
\t left.style.transform="rotateY(0deg)";
\t right.style.transform="rotateY(0deg)";
}
#animate{
width: 400px;
\t height: 300px;
\t margin: auto;
\t position: relative;
\t perspective: 800px;
}
img {
\t width: 100%;
}
#left {
\t position:absolute;
\t top: 0;
\t right: 50%;
\t padding: 0;
\t margin: 0;
\t width: 50%;
\t transition: transform 0.5s;
}
#right {
\t position: absolute;
\t top: 0;
\t right: 0%;
\t padding: 0;
\t margin: 0;
\t width: 50%;
transition: transform 0.5s;
}
<html>
<head>
\t <link href="style/style.css" rel="stylesheet">
\t </head>
\t <body>
\t <div id="animate" onmouseover="curtain()" onmouseout="back()">
\t \t <div id="left"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e6/Ariyunda.JPG/200px-Ariyunda.JPG"></div>
\t \t \t <div id="right"><img src="http://www.cs.cornell.edu/courses/cs3110/2009sp/hw/ps4/beach_original.png"></div>
\t \t </div>
\t \t <script src="script/script.js"></script>
\t </body>
</html>
uはPLSれるonmouseoutが @fzzle複数回呼び出されている方法を説明....と私たちは一度だけ、それを呼び出すために何かできることがあることができます... –
'onmouseout'されますマウスが '#animate'から移動されたときに呼び出されますが、マウスを'#left'& '#right'から移動するときにも呼び出されます - マウスが子の外に移動されたときに' onmouseout'も呼び出されます。 jQueryに精通しているなら、 '.mouseenter'と' .mouseleave'を使うことができます。バニラJavaScriptを使用するのは非常に複雑です。 – fzzle
'back()'の '' rotateY(0deg) ''を '' ''(空文字列)に変更すると、JavaScriptの解決策が有効になる可能性があります。これは、それが複数回呼び出されていることを修正するものではありません。 – fzzle