2016-07-14 9 views
0

私のページには、Waypoints css3アニメーションを含むセクションがいくつかあります。メニューリンクをクリックするかスクロールしてどちらかのセクションにアクセスできます。どちらの場合もWaypointを起動します。Waypointsアニメーションでスクロールをスムーズにする方法は?

「About」、「サービス」、「価格」、「ギャラリー」、「チーム」などのセクションがあり、ギャラリーをクリックすると、ページがスムーズにスクロールしないため、前のセクションが起動しないようにします。

var prices = new Waypoint({ 
     element: document.getElementById('prices'), 
     handler: function(direction) { 
      // animations in the section 
     }, 
     offset: 410 
     }); 

など他のセクションのために:

は、これまでのところ、私はこれを書き(というように、他のセクションのために)するために管理しました。クリックされたメニュー項目が道をさらにされている場合、私は、前のセクションでのウェイポイントを無効にします。

$('.link').click(function(){ 
    var nameOfLink = $(this).attr('href').replace('#', ''); 

    if(nameOfLink == 'prices') { 
     Waypoint.disableAll(); 
     navbar.enable(); 
     prices.enable(); 
    } 
    if(nameOfLink == 'gallery') { 
     Waypoint.disableAll(); 
     navbar.enable(); 
     gallery.enable(); 
    } 
    if(nameOfLink == 'team') { 
     Waypoint.disableAll(); 
     navbar.enable(); 
     team.enable(); 
    } 

そしてここでは、スムーズなスクロールコードです:

$('html, body').animate({ 
     scrollTop: $($(this).attr('href')).offset().top -104 
    }, 1000); 
    return false; 

});

これまでよりもスムーズに動作しますが、これまでと同じように滑らかではありません(他のウェブサイトでも動作していました)。

どうすればより効果的にすることができますか?あなたがアニメーションで使用easing機能を変更することができ

1)(デフォルトの緩和がswingである)、この:

答えて

関連する問題