<A HREF>A <A NAME>@ ページ内でのジャンプ



 前回、別ページへジャンプする方法を学んでいただきました。しかしこれらはすべてが各ページの先頭行へのジャンプでした。
 今回は同じページ内の途中の行へのジャンプの方法を学んでいただきましょう。
 ネットサーフィンをしていると1ページを章別に分け、先頭部分に
コンテンツを配置し、そこから各章へジャンプさせているページを見ることがあります。
 次の例ではこのページ内のそれぞれの文章にジャンプします。

第1章 概要
第2章 構文
第3章 使用例
第4章 表示結果
第5章 一口メモ


 
ここへ戻るときは各章下に設けた「
コンテンツへ戻る」をクリックしてください。

※この場合のコンテンツは目次を表します。一方でWEBコンテンツといった使い方をする場合にはページ全体の内容そのものを表します。

 ジャンプを試してもらったところでどのようにしてジャンプさせるかを説明しましょう。
 タイトルどおり前回説明した<A HREF>タグを使うのですが、それだけではできません。
 新たに<A NAME>というタグが必要となります。このタグは言ってみればジャンプ先を指定しておくためのタグです。
 まず「どこからジャンプして」、そして「どこへ飛ぶのか」、この二つを決めます。なお、リンク元のアンカーとリンク先のアンカーを決めれば上のようなコンテンツ形式にする必要はありません。
 「どこへ飛ぶのか」を決めたらその位置に<A NAME>タグを挿入します。NAMEの後のダブルクォテーションには他のNAMEで使っていない任意の名前を指定します。
 この名前は<A HREF>から呼び出すときの指標となります。

例 
<A NAME="link1">ここへジャンプします。この行が画面(フレーム)の先頭行になってますか?</A>

    ここへジャンプします。この行が画面(フレーム)の先頭行になってますか?

 この場合、<A HREF>タグと同様に(飛び先の)アンカーになる部分として文字列を間に入れておきますが、この文字列の長さは短くてかまいません。
 自分が試したところでは文字列のない
<A NAME="link1"></A>でもジャンプできました。

 逆に画面に収まりきらない程の長い文字列をアンカーとして指定しても、先頭文字が画面の先頭位置に合わされ収まりきらない部分は表示されません。

 飛び先のアンカーを指定したら後は前回使った<A HREF>タグを使って<A NAME>タグで指定した名前を呼び出します。この際、名前の先頭に#をくっつけなければなりません。

例 <A HREF="#link1">link1へジャンプします。</A>

    link1へジャンプします。    

 



構 文

<HTML>
 <HEAD>
  <TITLE>
  </TITLE>
 </HEAD>
 <BODY>
<A HREF="#link1">link1へジャンプします。</A><br>
<A NAME="link1">ここへジャンプします。この行が画面の先頭行になってますか?</A>
 </BODY>
</HTML>
 

 

 


 

使用例

<HTML>
<HEAD>
<TITLE>リンクの作成</TITLE>
</HEAD>
<BODY>
<A HREF="#lrei1">rei1へジャンプします。</A><br>
<A NAME="rei1"></A>ここへジャンプします。
</BODY>
</HTML>

 

 


 

表示結果


今回の「表示結果」は上の「link1へジャンプします」のアンカーでかえさせていただきます。

 




一口メモ

 

 <A NAME=””>に指定する文字列は文字は数字だけでもいいようです。

 いつも思うのですがたくさんの情報を読み出す場合、皆さんは1ページにすべてを読みこむタイプとある程度で区切られ順番にリンクされていくタイプとどちらが好きでしょうか。
 私はどの道、すべてを読むのであれば全部一挙に読み出す方が速くて便利ではないかと思っています。なぜなら一挙にすべてを読み出すようにクリックしておけばマシンが処理している間、別のことができるからです。特にいまだにダイアルアップ接続・従量制環境で使っている場合、少なくとも「次のページを読みこむためにアンカーを探しクリックしている時間+次のページをマシンが探す時間」分だけは確実に省かれます。後はオフラインで見れば通信料金はかかりませんのでゆっくりと見ることができます。この方が断然安上がりといえます。
 とはいえブロードバンド化、使い放題の環境においては順番に読み出していくタイプでもそうかわりはないかもしれません。
 


※ 使用例をコピーして使いたいときは「講座の前に」をお読みください。