ページがスクロールした場所に基づいてテキストを移動および非表示にする関数を作成しようとしています。ページがある点を過ぎてスクロールダウンされると、 "fadeup"アニメーションがトリガーされ、 "#first-header"は不透明度を失い、1秒間に上に移動します(translateY)。そしてCSSアニメーションが不意に動く
、ページがfadeupの反対をし、「#第ヘッダ」要素の「fadeupリバース」のアニメーションをトリガーする「fadeup」アニメーションをトリガー点を越えまでスクロールされた場合アニメーション(要素の不透明度を与え、逆方向のtranslateYプロパティを使用します)。
しかし、 "fadeup-reverse"アニメーションがトリガーされた後、#first-header要素がページの負荷よりもページ上でわずかに低くなって終了します。また、 "fadeup"関数をトリガーすると、#最初のヘッダーは最初のページの読み込み位置にジャンプしてアニメーションが上に移動して不透明度を失うようになります。
私の質問は、なぜfadeup-リバース 『のアニメーション、そしてどのように私はそれを防ぐん#最初のヘッダ」、それは後に再表示されたら、指定されたよりも低い移動される要素が』です
私のhtmlの?:
<section id="first-section" class="full-height">
<h1 id="first-header">First Headline</h1>
</section>
<section id="second-section" class="full-height">
</section>
マイCSS:
@keyframes fadeup {
from {
opacity:1;
}
to {
opacity:0;
transform:translateY(-50px);
-ms-transform:translateY(-50px);
-moz-transform:translateY(-50px);
-webkit-transform:translateY(-50px);
}
}
@keyframes fadeup-reverse {
from {
opacity:0;
}
to {
opacity:1;
transform:translateY(50px);
-ms-transform:translateY(50px);
-moz-transform:translateY(50px);
-webkit-transform:translateY(50px);
}
}
.fadeup, .fadeup-reverse {
animation-duration:1s;
animation-fill-mode: forwards;
-webkit-animation-duration:1s;
-webkit-animation-fill-mode: forwards;
}
.fadeup {
animation-name:fadeup;
-webkit-animation-name:fadeup;
-moz-animation-name:fadeup;
}
.fadeup-reverse {
animation-name:fadeup-reverse;
-webkit-animation-name:fadeup-reverse;
-moz-animation-name:fadeup-reverse;
}
私のjQuery:
$(window).scroll(function() {
if ($(window).scrollTop() > 80) {
$('#first-header').removeClass("fadeup-reverse");
$('#first-header').addClass("fadeup");
} if ($(window).scrollTop() < 81 && $('#first-header').hasClass("fadeup")) {
$('#first-header').removeClass("fadeup");
$('#first-header').addClass("fadeup-reverse");
}
});
素晴らしいです。あなたの応答のために非常に感謝マイケルコーカー。 –
@MylesMalloyあなたは大歓迎です:) –