0

私のサイトhttp://goo.gl/34oQ8では、このチュートリアルhttp://trevordavis.net/blog/jquery-one-page-navigation-plugin/に基づいて、強調表示されたナビゲーションを使用してスムーズなスクロールを実装しまし た。 [お問い合わせ] 項目が表示されますが、機能しません ([お問い合わせ] メニュー項目のみが強調表示されます)。理由がわかりますか?#inline ref - tks にリンクされていると思われます

<ul id="nav">
  <li class="current"><a href="#presentation">Home</a></li>
  <li><a href="#equipe">Team</a></li>
  <li><a href="#plan-activite">About us</a></li>
  <li><a href="#medias">Press</a></li>
  <li><a href="#inline" class="modalbox">Contact Us</a></li>
</ul>
4

1 に答える 1

0

問題は、1 ページ ナビゲーション プラグインが隠し要素を処理していないことです。初期化すると、次の行で各要素の垂直位置が計算されます。

self.sections[linkHref] = Math.round(topPos) - self.config.scrollOffset;

ただし、非表示の #inline 要素の垂直位置は 0 であるため、現在のセクション検出コードがスローされます。

ページの読み込み時に非表示のインライン要素の位置が 0 にならないようにすることで、これを修正できます。お問い合わせフォームにモーダル ダイアログを使用しないことをお勧めします。div を中心とする通常のフォームを使用するだけです。

コードを変更せずに修正を確認するには、chrome 開発者ツールなどを使用して、jquery.nav.js の 126 行目にブレークポイントを配置します。次に、「this.sections.inline = 5000;」を実行します。コンソールで。ブレークポイントを削除すると、ナビゲーションが適切に更新されます。

于 2012-08-02T19:20:58.927 に答える