私はウェブサイト構築の初心者です。ボタンを押すたびにアニメーションを作りたいと思っていました。だから私は最初にCSSでやってみましたが、それだけではできないことに気がついたので、私はJSを自分のコードに組み込みましたが、まだ動作していません。アイデアは、 "フィルタ"ボタンを押すと要素内のメニュー ".filter"が下に来るので、マージンを下げるためにアニメーションを追加しようとしましたが、これはうまくいきません。どうすればこの作品を作れますか?私はJSとCSSのHTMLでやりたいアニメーションに問題があります
function btnFilter() {
document.getElementByClass(".filter").style.WebkitAnimation = "filter-animation";
document.getElementByClass(".filter").style.animation = "filter-animation";
}
.filter {
display: none;
position: relative;
border-radius: 8px;
border-bottom: 1px solid #ffffff;
border-left: 1px solid #ffffff;
border-right: 1px solid #ffffff;
margin-top: -57px;
}
@-webkit-keyframes filter-animation {
from {
margin-top: -57px;
display: none;
}
to {
margin-top: 30px;
display: flex;
}
}
@keyframes filter-animation {
from {
margin-top: -57px;
display: none;
}
to {
margin-top: 30px;
display: flex;
}
}
<button onclick="btnFilter()">Filter</button>
<div class="filter">
<p>filter</p>
<form class="drpdwn-1">
<p>Price range:</p>
<select value="Price Range">
<option>$0 - $50</option>
<option>$50 - $100</option>
<option>> $100</option>
</select>
</form>
</div>
注意配列をループし、個々に 'style'を更新してください。また、要素にクラスを適用し、キーフレームアニメーションをそのクラスに配置する方がずっと簡単です。 –