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の数を変えることでたくさんのメッセージを入れられます。

実行結果

BACK