onscrollをバニラ・ジャバスクリプトで使用してアニメーションを作りたいと思います。私は2クラスを持っています。第1のものはであり、写真のボックスはアクティブであり、第2のものは.photography_box_activeであり、これはアクティブではない。私が1500pxの私の2番目のクラスにスクロールするとき.photography_box_activeがキックされ、私のアニメーションがうまくいきます。私の.photography_boxは12個のボックスで構成されています。アニメーションが起きると同時に、それらのすべてが私の望んでいないものと同時に入ります。私は彼らのそれぞれが次々に来ることを願っています。 jQueryでは$ .eachを使用することができましたが、Vanilla Javascriptを使用して同じ効果を得たいと思います。誰かが問題を解決するのを助けることができますか?バニラ・ジャバスクリプト - 異なるタイミングのアニメーション
おかげで私のクラスのための
CSSコード:
.photography_box {
overflow: hidden;
position:relative;
cursor: pointer;
margin-bottom:20px;
opacity: 0;
cursor: pointer;
-webkit-transform:translateX(-50px);
transform:translateX(-50px);
-webkit-transition: all .3s ease-in-out;
transition: all .3s ease-in-out;
}
.photography_box_active {
opacity: 1;
-webkit-transform: translateX(0px);
transform: translateX(0px);
}
JSコードは次のとおりです。
あなたは、そのに基づいて、各項目ごとにアニメーションを遅らせるために、あなたのループ内でsetTimeout
を使用することができます
var photoBox = document.getElementsByClassName("photography_box");
window.onscroll = function() {
loopBox()
};
function loopBox(){
if (window.pageYOffset > 1500){
for (f = 0; f <= photoBox.length -1; f++) {
photoBox[f].classList.add("photography_box_active");
};
};
};
あなたは 'のsetTimeout()は' 'photography_box_active'クラスの追加を遅らせるために使用することはできますか? – brso05
私はそれを試しましたが、それはただ遅れ、すべてがすべて一緒になります。私はそれぞれに異なるタイミングで来てほしいです。 – NoName84
'setTimeout()'はうまくいくはずです...あなたが試したことを投稿してください。 – brso05