• ベストアンサー

画面を開いたときに指定位置まで自動的にスクロールする方法

お世話になります。 掲題がなにを指しているかと申しますと、 HTML(サーブレット)からリンクが開かれたときに指定位置までスクロールした状態で開かせてやりたいのです。 Wikipediaのような目次をクリックすると自動的にその題目までスクロールするイメージです。 JavaScriptにて、window.ScrollTo(座標)という方法は見つけましたが、Wikipediaもこの方法をとっているのでしょうか? ほぼズレがないのでなんとなくこの方法以外にもあるのかなと思ったのですが、、、Wikipediaソースをみると、<a href= のあとに#.E…というリンクが張ってあります。これがキーなのでしょうか? よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.2

要素にidを付けておき、そのidをリンク先に指定します。 この場合のidをフラグメント(ID)と呼びます。 呼び出し側 <a href="#midashi1">見出し1に</a> ~ あて先側 <h2 id="midashi1">見出し1</h2> 外部から呼び出す(リンク)するときは <a href="http://example.com/page1.html#midashi1">見出し1に</a> なお、昔はあて先側では<a name="midashi1">を利用していました。 昔からの慣習で今でもこちらを使う人も多いし、古いブラウザへの対応を考慮して <h2 id="midashi1"><a name="midashi1">見出し1</a></h2> みたいに両方書ケースも見られます。

その他の回答 (1)

  • Tiffa9900
  • ベストアンサー率31% (68/216)
回答No.1

<a>タグのname属性を利用していると思われます。 <a href="aaa.html#bbb"></a>でリンクへ飛ぶと aaa.html において<a name="bbb">と記述されている部分へ自動的に移動します。 たとえ<a name="bbb">が無くてもエラーになる事はありません。通常通り、一番上が表示されます。 ただし、高速回線が発達した最近ではあまりありませんが、 htmlのサイズが非常に大きく、画面表示に時間がかかる場合などは、<a name=~>を認識する前に、リンクのジャンプ処理が完了してしまい結果その位置まで移動しないという現象も発生する可能性があります。

uzo3839
質問者

お礼

早急なご回答誠に有難うございました。m(._.)m