0
親addclass CSSアニメーションが機能するときに、削除しても何もしません。
$(document).on("scroll",function(){
if(window.pageYOffset > 0) {
$("body").addClass("scroll");
}else{
$("body").removeClass("scroll");
}
})
@keyframes fade {
0%,100% { opacity: 1 }
30%,70% { opacity: 0 }
}
.logo{
animation: fade 0.7s linear;
}
div{
height: 1000px;
}
span{
position: fixed;
padding: 20px;
}
body.scroll span{
animation: fade 0.7s linear;
}
@keyframes fade {
0%,100% { opacity: 1 }
30%,70% { opacity: 0 }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>test<span>hier</span></div>
「のhier」は再びフェードアウトとしていることがわかり、しかし、あなたは、彼らはまだ立ってトップにスクロールします。すでにスクロールしてもう一度アニメーションを上書きしたい場合は、体がクラスのスクロールになり、それが削除された場合はいつでも。
これはCSSでのみ行うことができますか?
なし申し訳ありませんが、私は下にスクロールする場合は、1つのようにフェードアウトとフェードイン、あなたがより多くスクロールできるよりとしたいが、あなたが再びトップにスクロールする場合(pageOffsetY = 0)スパンはフェードアウトし、再びフェードインしなければなりません。これは私のテストエリアにもっと意味がある例ですが、クラスはボディに追加する必要があります – Ben
まあ、私が書いたコードを試しましたか? 'body.scroll span'に戻してください。それは – rebecca
で動作し、もちろん元のキーフレームを使用する必要があります。 ここでは、コードオペ(https://codepen.io/anon/pen/OgyqZx)を使用して、pageOffSetとの比較を少し高めて、ユーザーが入力しなくてもクラスgetを削除することを検討したいと思うかもしれません_entirely_をスクロール(0) – rebecca