メニューのアイテムをクリックしたときにコンテナを取得しようとしています。下のアニメーションは正常に動作します。しかし、私がメニュー内の別のアイテムをクリックすると、それは上向きにアニメーション化されません。クラス削除の移行が機能しない
のCss:
.card{
width: 100%;
background: blue;
transform: translateY(-100px);
opacity: 0;
height:0;
min-height: 0;
transition-timing-function: cubic-bezier(.175,.885,.32,1.275);
transition-property: opacity,transform;
transition-duration: 1s;
}
.card-appeared{
margin-top: 0;
opacity: 1;
transform: translateY(0);
min-height: 300px;
transition-delay: 1s;
height:auto;
width: 100%;
}
HTML:
<div id="aboutme" class="container card ">
About me
</div>
<div id="gallery" class="container card card-appeared">
Gallery
</div>
function appear(child){
parent.classList.remove("card-appeared");
let others = document.getElementsByClassName("card-appeared");
for(var i = 0; i < others.length;i++){
others[i].classList.remove("card-appeared");
}
child.classList.add("card-appeared");
}
function dissapear(child) {
child.classList.remove("card-appeared");
parent.classList.add("card-appeared");
}
others
クラスの追加や削除のための基本的なJavascriptをページ内の他のカードのリストで、親であります最初のコンテナ。
他のコードが必要な場合は、教えてください。上向きのアニメーションを動作させるようには見えませんが、アニメーションが下がります。
ありがとうございます。
簡単な説明をありがとうございます。コードで与えられた解決策は本当に必要な方法で動作しません(最初のコンテナの画面の半分に表示されます)。アブソリュートポジショントリックは機能します。悲しいことに、ドキュメントフローのために絶対配置のファンではありませんが、この場合はうんざりです! – Ellisan
@Ellisan '絶対配置 'は、動的な状況下で表示する必要があるキャンバス以外のコンテンツがある場合に最適です。だから、絶対に必要なときに絶対的なポジショニングをするのを躊躇しないでください - もしあなたがそれを食べれば、それをよく見て、それを歩くために取ることを忘れないでください - それはあなたによって正しいでしょう;) – UncaughtTypeError
@Ellisan最初の解決策に関しては、 'transform:translateY()'プロパティ値をあなたの特定の環境の要件に合わせて調整する必要があるかもしれません。上記のデモンストレーションは問題に提供されたコードでテストされ、適切に機能しました。このソリューションをテストしている間、私の説明できなかったコードをあなたのプロダクションに追加してください。 – UncaughtTypeError