ファーストビューで表示されている範囲にある、フェードインだったりフェードアップだったりのJavaScript(jQuery)で表示されるスクロールアニメーション要素。ありますよね。
それが、ちょっとでもスクロールしないと動かない(表示されない)ときの解決法です。
ファーストビュー内にあるスクロール発火のJavaScript要素を、スクロール無しで発火させる
つまり、ちょっとでもスクロールしないと、ファーストビュー範囲内の要素が表示されず、まっしろけっけになってしまうとき…。
↓こんな感じ。ファーストビュー内にあるはずのボックスが、ちょっとでもスクロールしないとフェードインしてきません。
See the Pen
下からフェードインするコンテンツ① by tom k (@tom-k-the-encoder)
on CodePen.
しかし!以下の1文を書くとあら不思議!
jQuery(window).scroll();
ファーストビューのJavaScriptアニメーション要素が、スクロールせずとも画面読み込み後に発火します!
See the Pen
下からフェードインするコンテンツ② by tom k (@tom-k-the-encoder)
on CodePen.
$(function() {
$(window).scroll(function() {
var scroll = $(window).scrollTop();
var windowHeight = $(window).height();
$('.fadein').each(function() {
var elemPos = $(this).offset().top;
if (scroll > elemPos - windowHeight + 100) {
$(this).css({
'opacity': '1',
'transform': 'translateY(0)'
});
}
});
});
jQuery(window).scroll(); /*ここに書く!!*/
});
記述する場所に注意!
まとめ:真っ白なファーストビューにはしたくない
たまに、JSが発火してなくて真っ白なファーストビューに出会うときがある。
そんなダサい動きの画面にはしたくないですよね…!
ファーストビューも頑張れるサイトにしていきましょう!