ユーザーがスクロールするときにページ上のいくつかの見出しをアニメーション化 (フェードイン) しようとしていますが、最初の見出しに到達すると、まだ到達しているかどうかに関係なく、すべてがフェードインします。
誰かが私が間違っている場所を理解するのを手伝ってくれますか? jQuery は次のようになります。
$(window).scroll( function(){
$('.section').each( function(i){
var bottom_of_object = $(this).position().top + $(this).outerHeight();
var bottom_of_window = $(window).scrollTop() + $(window).height();
if( $('hgroup').is('.heading1') && bottom_of_window > bottom_of_object ){
$('.heading1').animate({'opacity':'1'},1000);
}
if( $('hgroup').is('.heading2') && bottom_of_window > bottom_of_object ){
$('.heading2').animate({'opacity':'1'},1000);
}
});
});
そしてマークアップ:
<section class="section">
<hgroup class="heading1">
<h1>Title</h1>
<h2>Sub-Title</h2>
</hgroup>
</section>
<section class="section">
<hgroup class="heading2">
<h1>Title</h1>
<h2>Sub-Title</h2>
</hgroup>
</section>