文字色をリアルタイムに変える


動作ブラウザ 【 IE:3.0  NN:2.0
Internet Explorer Netscape Navigator DreamPassport iCab
3.0x 4.0x 4.5 5.0x 5.5 2.0x 3.0x 4.0x 4.x 6.0 2 3 2.x
Windows × - × × × × × - × -
Macintosh × - × × × × × - - ×
UNIX - - - - - × × × × × - - -
Dreamcast - - - - - - - - - - × × -

ポイント txt = document.all["strID"].innerText; c = str.charAt(count); txt = txt.fontcolor("#"+c+c+"0000"); document.all["strID"].innerHTML = txt; count++; if (count > str.length) count = 0; setTimeout("changeColor('"+str+"')",100); <body onLoad="changeColor('0123456789abcdefedcba987654321')"> <div id="strID" style="font-weight:900">
説  明 文字色を変更するにはdocument.all[タグID].innterTextで表示するテキストを読み出します。カウンタを使い文字列からカラーコードを生成します。生成したカラーコードをfontcolor()を使い文字列に適用します。作成されたタグ付きの文字列をdocument.all[タグID].innterHTMLに代入することで文字色を変化させます。
サンプル <html> <head> <title>文字色をリアルタイムに変える</title> <script Language="JavaScript"><!-- count = 0; function changeColor(str) { txt = document.all["strID"].innerText; c = str.charAt(count); txt = txt.fontcolor("#"+c+c+"0000"); document.all["strID"].innerHTML = txt; count++; if (count > str.length) count = 0; setTimeout("changeColor('"+str+"')",100); } // --></script> </head> <body onLoad="changeColor('0123456789abcdefedcba987654321')"> <div id="strID" style="font-weight:900">ここの文字の色が変わるよ〜ん</div> </body> </html>
補足説明 NN4.5、NN4.06以前では、日本語1文字が2文字(バイト)になるため、正しく抜き出せない場合があります。

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA