2017-06-05 14 views
0

私はスクロールすると別のセクションにスムーズに移動します(jqueryのアニメーションスクロールトップを使用)ので、別のサイトにスクロールすることはできません。さて、私がしたいのは、セクション2にスクロールすると、要素がいくつかのアニメーションで表示され、それを放置すると消えてしまうことです...スクロールされていないアニメーション - JQuery

私はこれを行いましたが、ページと私はすでにそのセクションに入っています。それ以外の場合は動作しません。 $(window).scrollTop()を呼び出すと、scrollTopが即座に返されるため、スクロールアニメーションが終了するまで実際には750msを待つ必要があるため、それはうまくいかないと思います。私はsetTimeOutと他のものを使用しようとしましたが、動作させることができませんでした。

function animacionObjetosDeSections() { 
$(window).scroll(function() { 
    //each height of the sections 
    var altoSection2 = $('#section2').offset().top; 
    var altoSection3 = $('#section3').offset().top; 

    //if scrolltop is the same to the height of section2, it displays the animation, else it returns to original state 
    if ($(window).scrollTop() == altoSection2) { 
     $('.view-of-page').animate({left: '2%'},600); 
     $('.page-info h2').animate({opacity: 1}, 650); 
    } else { 
     $('.view-of-page').animate({left: '-50%'},600); 
     $('.page-info h2').animate({opacity: 0}, 650); 
    } 
}); 

}

EDIT:ここ

はコードである

が、それは動作しますが、それぞれのために、それは30のスクロールイベントのように認識してスクロール知っていると私はそれらの30回のイベントを待たなければなりません*機能を再現させるために750ms。

CODE:

function animacionObjetosDeSections() { 
$(window).scroll(function() { 
    setTimeout(function() { 
    //each height of the sections 
    var altoSection2 = $('#section2').offset().top; 
    var altoSection3 = $('#section3').offset().top; 

    //if scrolltop is the same to the height of section2, it displays the animation, else it returns to original state 
    if ($(window).scrollTop() == altoSection2) { 
     alert("hola"); 
     $('#section2 .view-of-page').animate({left: '2%'},600); 
     $('#section2 .page-info h2').animate({opacity: 1}, 650); 
    } else { 
     $('#section2 .view-of-page').animate({left: '-50%'},600); 
     $('#section2 .page-info h2').animate({opacity: 0}, 650); 
    } 
     },701); 
}); 

}

答えて

0

あなたがそのセクションに達したときにslideup()slidedown()機能を使用しています。 たとえばセクション2にスクロールすると、セクションdivにslidedown()関数が使用され、アニメーションが表示され、そのセクションを終了するとslideup()関数を使用すると、セクションがアニメーションで消えます。

+0

しかし、私は垂直にではなく水平にスライドしたいです。そして、私はそれがscrollTop()を取得する時間を遅らせるのと同じ問題のために動作しないと思う –

関連する問題