table14-1 ■自動■ tableリンク1行(文字)    UP日時 : 2015/02/01

※バナー画像は見本なので、該当サイトの本物のバナーではありません。

「その他14■table■自動tableリンク1行(画像)」と同じ構造のJavaScriptですが、こちらは画像専用ではなく、文字専用です。
そのため文字の位置に画像を入れる場合は、<img src='●' title='▲'>とタグを入れて下さい。
他の自動tableと同じく、データにタグを記述する時は、「"」ではなく「'」を使用します。


1.JavaScriptで背景色2色指定分(行ごとに変化)



2.CSSで背景色指定(バナー画像の背景色と説明文の背景色)



データ項目が複数の、JavaScriptの自動作成のtableです。データのサイト名とサイト説明文に、タグが使用できます。
■データを記述するだけで、1行に1個の、説明文付きのサイトのリンクが作成できます。
CSSで文字を装飾すれば、説明文付きメニューの作成もできます。
その時は、["サイト名","サイトURL","サイト説明文"];を["メニュー名","メニューURL","メニュー説明文"];のように記述します。

・リンク文字をクリックするとリンク先に飛びます。
・リンク文字位置にタグを使用すれば、画像も表示できます。


下にJavaScriptのソースを2個掲載しています。
1はJavaScriptのソースの中に、背景色の2色指定がしてあります。
2はその指定が無く、CSSで背景色を指定しています。


1. tableのセルのデータ記述方法
1行の中に記述するデータは3個です。そして、下記の順番を必ず守って下さい。
Tco[i++]=["サイト名","サイトURL","サイト説明文"];
この横に並ぶ順番を間違うと、正しく表示されません。
もちろんいままでどおり、縦の行の入れ替えは自由にできます。

Tco[i++]=["Dynamic Drive","http://www.dynamicdrive.com/","英語サイトですが、たくさんのJavaScriptのソースがあります。<br>利用規約は<span style='color:red;'>スクリプト上のクレジットを削除しない</span>こと。"];
   :
   :
Tco[i++]=["<img src='frc12.gif' title='京栄1級建築士事務所'>","http://kyoei.arrow.jp/jissai.html","旧名『ぱーぷりんの溜まり場』。<br>メニューのテンプレートから行けます。<br>降る上る浮く関連のJavaScriptの宝庫。"];


上記が今回のtableのデータの記述です。
いままでの「自動table」と同じように、行はいくらでも増加可能です。

違うのは、前述したように横のデータは3個で、3個の順番を必ず守ること。
それからタグを使用できるのは、1番目の「サイト名」と3番目に書く「サイト説明文」の内容の中です。
ここでも注意することがあります。使用するタグには「 " 」は使用できません。
必ず「 ' 」を使用して下さい。

「サイト名」に文字ではなく画像を使用する時は、「サイト名」の項にタグで画像を入れます。最終行の見本通りです。
<img src="frc12.gif" title="京栄1級建築士事務所">ではなく、
<img src='frc12.gif' title='京栄1級建築士事務所'>と記述します。
「サイト説明文」の使用見本は1行目にあります。
<span style="color:red;">ではなく、
<span style='color:red;'>と記述します。
データ行でタグを使用する時は「 ' 」を使うという事は、この「自動table」のJavaScriptの全部の共通点です。


2.位置指定の方法
いろいろと面倒なので、位置指定はdivの#wakuTではなく、tableの#Tbでします。
そのまえに、この二つの説明をします。
この自動tableは、bodyに<table id="Tb"></table>と記述しても表示しないので、tableを<div id="wakuT"><table id="Tb">〜〜〜</table></div>で囲む形で表示しています。
ただし、<table id="Tb">〜〜〜</table>の部分はJavaScriptのソースの中に記述してあります。
いろいろな文章の下にこのtableを表示したい時、そのbodyの中の場所に<div id="wakuT"></div>を記述することで、tableの位置指定ができるのです。

ところがdivは、は左から●px、上から●pxという位置指定は簡単ですが、中央配置するには、横幅サイズを指定しないとできません。
サイズ指定ができれば問題ないのですが、大量のデータを並べると具体的なサイズが不明です。
しかしtableは、具体的な横幅がなくても中央配置が可能です。だからtableの#Tbで位置指定する方が、簡単なのです。
#wakuTと#Tbの関係は、ためしに#wakuTに背景色を指定してみるとわかります。


他のJavaScriptとの記述の違い
項目が1個だけでも複数でも、このtableのJavaScriptは、他の当サイトのJavaScriptと大きく違う点があります。
それはデータ番号を記述する場所に、数字が入ってない点です。普通は
Tco[0]=〜〜〜
Tco[1]=〜〜〜
Tco[2]=〜〜〜
と、数字が入っているところが、
Tco[i++]=〜〜〜
Tco[i++]=〜〜〜
Tco[i++]=〜〜〜
となっています。
これは行の入れ替えを簡単にするためです。数字を入れていると、下の行を上にしたり途中の行を丸ごと削除した時には、番号を付け直す必要があります。

じゃあ、他のJavaScriptもそうすればいい?
いえいえ、たとえばコメント付きの簡単スライドショーの場合を考えてみて下さい。
数字を付けることで、ga[0]の画像にmes[0]のコメントが記述しやすくなります。
数字が無いと間違えて ga[3]の画像に、mes[4]のコメントを付けてしまったりします。間違えた場合、どの行を間違ったのかの把握も難しいです。
でも画像だけのスライドショーの場合は、ga[i++]で記述してあれば、最新の画像を一番上に記述して、数字を書き直す必要がないというメリットはあります。
ケース・バイ・ケースでどうぞ。
tableの場合も、「行の入れ替えや削除をする必要が全くない」か、「入れ替えたり削除したら、自分で数字を書き直す」のであれば、
Tco[0]=〜〜〜
Tco[1]=〜〜〜
Tco[2]=〜〜〜
と記述しても、大丈夫です。


なお参考にしたサイトがたくさんあります。代表的なものを4つだけ紹介します。
セルの背景色の2色カラーは、イヌでもわかるJavaScript講座から。
table作成をinnerHTMLで記述する方法は、OKWaveのzousan77さんの回答から。
データの項目のまとめ方は、無数のJavaスクリプトサンプル(SCRIPT OF ANGER)日本旭日党から。
配列の要素に別の配列リテラルを格納して多次元配列のように扱う方法は、AjaxTowerから。

◆全ソース◆背景色はJavaScript指定(行ごと)
ソースの中でマウスの右クリックで『すべて選択』→『コピー』
またはソースの中で左クリック後、キーボードで
「Ctrl」と「A」を同時押下して、右クリック『コピー』

◆全ソース◆背景色はCSS指定
ソースの中でマウスの右クリックで『すべて選択』→『コピー』
またはソースの中で左クリック後、キーボードで
「Ctrl」と「A」を同時押下して、右クリック『コピー』