當我徘徊一次,轉換是正確的,但第二次,轉換變得更加奇怪,就好像透視:800px在轉換髮生後開始工作。 請同時告訴我如何設置除中心以外的邊緣旋轉。 我知道變換原點,但沒有變換軸。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'。使用vanilla JavaScript來完成它非常複雜。 – fzzle
如果您將back()中的''rotateY(0deg)''改爲'「」'(一個空字符串),那麼您的JavaScript解決方案就可以工作。不過,這並不能解決它被多次調用的問題。 – fzzle