2016-05-13 24 views
0

は「アンカーにスクロール」のためのベストの方法私は現在、jQueryの+ jQueryのUIとを使用しています次のコードを持っている: -jQueryの - 同じページと新しいページ

$(function() { 
    $('a[href*="#"]:not([href="#"])').click(function() { 
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) { 
     var target = $(this.hash); 
     target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); 
     if (target.length) { 
     $('html, body').animate({ 
      scrollTop: target.offset().top 
     }, 1000); 
     return false; 
     } 
    } 
    }); 
}); 

私はスクロール効果を得るとき、スクロールします同じページにありますが、新しいページを読み込むと、そのセクションにスクロールしません。/home/to/about /#section3

新しいページを読み込むときに、同じアンカーとアンカーの両方でこの機能を使用するにはどうすればよいですか?

+0

'$(window).load()'を使って滑らかなスクロールを開始しようとしましたか? – ntgCleaner

+0

なぜdownvote?実際には分からない場合があります – nsilva

+0

新しいページをスクロールさせる良い方法はありません。ページの読み込みが完了するまで待たなければならないので、スクロールしたい場所を正確にターゲットにすることができます。そして、ブラウザの既定のターゲットへのジャンプは既に発生しています。 –

答えて

1

私はコメントを書くことができません(評判のため)。

あなたは、このソリューションを試してみました:Smooth scroll to anchor after loading new page

私はプロジェクトでそれを使用し、それがうまく働きました。 )回答のコメントを見てください。

+0

これはうまくいきました。リンクを '/ about /#section'から'/about#section'に変更するだけでした(余分なフォワードスラッシュを削除してください) – nsilva

関連する問題