3

クライアント向けの大規模プロジェクトの一部として、単純な用語集ウィジェットを作成しています。用語集の内容は、スクロール可能な div (overflow:auto) で囲まれています。各文字には、それに関連付けられたアンカー タグ (#a、#b、#c など) があります。スクロール可能な div の上には、アルファベットのすべての文字を含む div があります。これらの文字の 1 つをクリックすると、ユーザーはスクロール可能な div 内のその文字の定義に移動します。これは機能しますが、ウィンドウ全体がアンカーにジャンプするという意図しない副作用があり、ユーザーが混乱し、煩わしくなります。

<br />これがウィジェットで、私が何を意味するかを理解できるように、少し削除され、たくさんの's が付いています。

http://www.nitrohandsome.com/clients/topics/glossary-widget/

いくつかのグーグルから一緒にまとめたいくつかの異なるJavaScriptのアイデアを試しましたが、何も機能していなかったので、実際のアンカーコードへの移動以外はすべて削除しました(私はかなりのJS初心者です)。現時点では、任意の文字をクリックすると、次の JavaScript 関数が実行され、アンカー タグが渡されます。

    function jumpToAnchor(myAnchor) {
   window.location = String(window.location).replace(/\#.*$/, "") + myAnchor;
  }

リンクがクリックされるたびにウィンドウ全体がジャンプしないようにするにはどうすればよいですか?

前もって感謝します!

4

2 に答える 2

4

jQuery を使用している場合は、scrollToプラグインを試すことができます。また、ハッシュ部分または URL のみを編集するには、次のようにします。

function jumpToAnchor(myAnchor) {
   window.location.hash = myAnchor;
}
于 2009-12-14T03:31:33.197 に答える
0

Div の代わりに IFrame を使用するか、ScrollBy を使用して特定の関数を作成してみてください。

于 2009-12-13T20:42:48.610 に答える