ページが読み込まれるとすぐに同時に移行したい 3 つのオブジェクト (div) があります。これをアニメーション化するために、1 つのオブジェクトだけで完全に機能する JavaScript を少し使用していますが、JavaScript を書き直して 3 つのオブジェクトすべてをアクティブにし、各オブジェクトの個別のスタイリングに従う方法がわかりません。
Mozilla Developer Network のサイト ( https://developer.mozilla.org/en/CSS/CSS_transitions/ )で「Using transition events to animate an object」の例を見つけましたが、残念ながらフォーラムが無効になっているため、できませんでした。解答を見つける。
基本的な HTML は次のとおりです。
<body onload="runDemo()">
<div id="cloud-comtainter">
<div class="cloud1Right"></div>
<div class="cloud2Right"></div>
<div class="cloud3Right"></div>
</div>
</body>
背景画像を持つ 2 つの div があります。1 つは左側にあるオブジェクトのスタイリングを表し、右側の位置にあるスタイリングです。
1 つのオブジェクトの CSS は次のとおりです。
.cloud1Right {
width: 22em;
height: 9.375em;
background-image:url(../Images/header/clouds/clouds_biodesign-white.png);
background-position:center;
left:2%;
position:absolute;
top: 5%;
z-index:1;
-webkit-transition-property:left;
-webkit-transition-duration: 25s;
-moz-transition-property:left;
-moz-transition-duration: 25s;
-o-transition-property:left;
-o-transition-duration: 25s;
-ms-transition-property:left;
-ms-transition-duration: 25s;
}
.cloud1Left {
width: 22em;
height: 9.375em;
background-image:url(../Images/header/clouds/clouds_biodesign-white.png);
background-position:center;
left:90%;
position:absolute;
top: 5%;
z-index:1;
-webkit-transition-property:left;
-webkit-transition-duration: 25s;
-moz-transition-property:left;
-moz-transition-duration: 25s;
-o-transition-property:left;
-o-transition-duration: 25s;
-ms-transition-property:left;
-ms-transition-duration: 25s;
}
そして、このオブジェクトを呼び出してアニメートし、画面上を右に移動してから元に戻す Javascript を次に示します。
function runDemo() {
var el = updateTransition();
// Set up an event handler to reverse the direction
// when the transition finishes.
el.addEventListener("transitionend", updateTransition, true);
}
function updateTransition() {
var el = document.querySelector("div.cloud1Left");
if (el) {
el.className = "cloud1Right";
} else {
el = document.querySelector("div.cloud1Right");
el.className = "cloud1Left";
}
return el;
}
ここで、同時に移行したい他の 2 つの要素は、.cloud2Left (および .cloud2Right) および .cloud3Left (および .cloud3Right) という名前で、それぞれ固有のスタイル (位置、左 %、移行率など) を持ちます。
私は解決策を求めてウェブを精査し、jsをいじりました。ここや Web を調べたところ、セレクターに関する情報と、複数のセレクターをうまく使用する方法を見つけました。次のような複数のセレクターを使用してみました。
var el=document.querySelector("div.cloud1Left, div.cloud2Left, div.cloud3Left");
と
var el=document.querySelector("div.cloud1Left");
var el=document.querySelector("div.cloud2Left");
var el=document.querySelector("div.cloud3Left");
el.classNameについても同じ
3 つのオブジェクト (div) すべてを含むように JavaScript 関数を書き直して、ページが読み込まれるとすぐにそれらを同時に動作させる方法を誰かが知っているか、知っているなら、私は大いに感謝します。前もって感謝します。