2017-09-20 8 views
0

何らかの理由で、それぞれのセクションへのナビゲーションリンクが、ポートフォリオテンプレートサイトで機能しなくなりました。 JavaScriptやJQueryのクイック解決策がありますか?ナビゲーションリンク機能の障害

Navのアンカータグの例

  <ul class="nav navbar-nav" id="main-menu"> 
       <li> 
        <a href="#page-profile">Profile</a> 
       </li> 
      </ul> 

セクションターゲット例

<section id="page-profile" class="page-profile"> 
     <div class="container"> 
      <header class="section-header"> 
       <h2 class="section-title">Personal Profile</h2> 
       <div class="spacer"></div> 
       <p class="section-subtitle">About Me</p> 
      </header> 
+0

郵便働いていたコード。 –

+0

公開するにはコードがあまりにも多く、その部分が機能を終了している可能性がありますか? – springathing

答えて

1

$("moveToSectionButtonSelector").click(function() { 
    $('html, body').animate({ 
     scrollTop: $("#page-profile").offset().top 
    }, 1000); 
}); 
+0

#page-welcome、#page-educationのような複数のセクションに適用できるソリューションはありますか? – springathing

+1

@springathing複数のセクションに複数のボタンがあることを意味しますか?ボタンに 'data-'属性を追加すると、それをクリックするとスクロールしたいセクションのselectorが含まれます(すべてのボタンに' click'イベントで使用する 'class'が同じであることを確認してください)。これをクリックすると 'data-'属性をチェックして変数に代入します( 'var section = $(this)).prop( 'data-whateverYouNameIt');') 'scrollTop:$("#page -opfile ").offset()。top'を' scrollTop:$(section).offset()。top'に変更します。 – Fuross

+0

あなたのコードを使用して終了しました。現在のナビゲーションリンクは魅力的に機能しています – springathing

1

このような何かが動作するはずです。 jQueryを使って

// URL Parsing 
var parser = document.createElement('a'); 
parser.href = window.location.href; 
var hash = parser.hash; 

// Page scrolling 
var offset = 20; //Offset of 20px 

$('html, body').animate({ 
    scrollTop: $(hash).offset().top + offset 
}, 2000); 
+0

URLの解析にまだ慣れていません – springathing

+1

URLを簡単に解析する簡単な方法です。これにより、誰かをyourwebsite.com#page-profileに誘導することができ、各ページの訪問ボタンを押す必要なく、常にそのセクションに移動します。既存のコードでも動作します。 –