CSS3のアニメーションなどで、要素が見えた瞬間にアニメーションさせたいという場面があったので、
備忘録的なメモです。
ブラウザ上で見えたときに処理を実行するには、
要素までのスクロール量を収得してイベントを発火させるか,
プラグインで、イベントさせるかがあります。
プラグインを使用する場合
ダウンロードしたquery.inview.jsをhead内で読み込み、
.on(‘inview’, function(){});でイベントの記述をします。
■js
$('.animation').on('inview', function() {
$(this).addClass("active");
});
■css
@keyframes fadeIn {
from {
opacity:0;
}
to {
opacity:1;
}
}
.animation.active {
animation-name: fadeIn;
}
上記のように記述することで、見えたときにアニメーションのフェードインをさせることができます。
単にjsで実行する場合下記のように記述すればOKです。
$(function() {
var active = $(".animation");
$(window).scroll(function(){
var Position = $(active).offset().top - $(window).height();
if ($(window).scrollTop() > Position) {
$(this).addClass("active");
}
});
});








