11.フォームにメッセージをスクロールさせる(type2)
文字が1文字ずつスクロールして左詰めで表示されるフォームメッセージです。type1よりは面白みがあるのと、たくさんの情報を流すことができるという利点があります。
<HTML>
<HEAD>
<TITLE>フォームにメッセージをスクロールさせる(type2)</TITLE>
<SCRIPT Language="JavaScript">
<!---
// ブラウチェック
var NN = (navigator.appName=="Netscape");
var charsuu = 1;
if(NN) charsuu = 2;
var mcount = 0;
var Msuu = 10;
var tugi = 1;
var speed = 30; //(1)
var tmp = "";
me = new Array(5); //(2)
me[0] = " "; //(3)
me[1] = "☆★☆ようこそ!Ayu&Riskyへ!^^☆★☆";
me[2] = "あゆの初ライブコンサート第1幕・第2幕とも無事終了。ありがとうございました。";
me[3] = "08.08/リンクを2件、08.09/1件、08.11/1件追加しました。";
me[4] = "ここに来たついでに掲示板かゲストブックにカキコしていってね♪^^";
timeID=setTimeout('',1);
function mess1(){
document.fmess.tmess1.value = tmp + me[0].substring(0,Msuu+1) + me[tugi].substring(mcount,mcount+charsuu);
Msuu--;
if(Msuu <= 0){
tmp = tmp + me[tugi].substring(mcount,mcount+charsuu);
mcount=mcount+charsuu;
if( mcount >= me[tugi].length + 2){
tugi++;
if(!me[tugi])tugi=1;
tmp = "";
document.fmess.tmess1.value = "";
mcount = 0;
}
Msuu = 10;
}
clearTimeout(timeID);
timeID = setTimeout('mess1()',speed);
}
//--->
</SCRIPT>
</HEAD>
<BODY onLoad="mess1()">
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=3>
<TR>
<FORM NAME=fmess>
<INPUT TYPE="text" NAME="tmess1" SIZE=90>
</FORM>
</TR>
</TABLE>
</BODY>
</HTML>
(説明)
(1)のvar speed関数でスピードを調節します。数字が小さいほど早くなります。(0が最速です。)
(2)の「me = new Array(5);」ではメッセージの数をあらわします。ここではメッセージは5つあることを示しますが、注意するのはArray(配列)は1からではなく0から始まるということです。そのためメッセージが5つある場合は0〜4となり、変数meはme[0]〜me[4]となります。そしてその下の変数me[0]〜me[4]にメッセージを書くわけですが、(3)のme[0]には何も書かずにスペースを入れてください。(エラーの原因になります。)そしてメッセージはme[1]から始まるのでそこから順番通りにメッセージを入れます。変数meの数を変えることでたくさんのメッセージを入れられます。
実行結果