Home > イヌでもわかるJavaScript講座 お品書き
イヌでもわかるJavaScript講座 お品書き へ戻ります
イヌでもわかるJavaScript講座


Step.59 - メッセージが右から左へ流れる表示


Step.9やStep.11でフォームに変化のあるメッセージを表示しました。
今回は1つのページ内に複数のフォームを貼りつけて、それぞれに異なったメッセージを表示してみます。


Step テーマ
● 複数のサンプルを使うには

実行例




リスト


<script type="text/javascript"><!--
// 第1フォームの設定

myMsg1 = "いらっしゃいませ こんにちは! ごいっしょにポテトはいかがですか?   ";
myMsg1 = myMsg1 + myMsg1;
myCnt1 = 0;

// 第2フォームの設定
myMsg2 = "今なら半額! ひとつ、たったの65円! チーズは80円です!   ";
myMsg2 = myMsg2 + myMsg2;
myCnt2 = 0;

function myFunc(){
     // 第1フォームの表示
     document.myForm1.myFormMes1.value = myMsg1.substring( myCnt1 , myMsg1.length );
     myCnt1 = ( myCnt1 == (myMsg1.length/2)-1 ) ? 0 : myCnt1 + 1;

     // 第2フォームの表示
     document.myForm2.myFormMes2.value = myMsg2.substring( myCnt2 , myMsg2.length );
     myCnt2 = ( myCnt2 == (myMsg2.length/2)-1 ) ? 0 : myCnt2 + 1;
}
// --></script>

<form name="myForm1">
<input type="text" size="30" name="myFormMes1">
</form>

<form name="myForm2">
<input type="text" size="30" name="myFormMes2">
</form>

<script type="text/javascript"><!--
setInterval( "myFunc()", 200 );
// --></script>


サンプルだけの HTMLは こちらへ

説明


[Q] ひとつのページに複数のフォームを取り入れるには、どうすればよいでしょうか?
[A] では、説明しましょう。といっても、サンプルを見たら説明いらないでしょうか (^^;

Step.9 や、Step.11で、フォームに変化のある文字表示をしました。

ふたつのフォームを取り入れたければ、ふたつサンプルをコピーして貼りつければと、思いつけば、それはそれで十分です。
・・・が、できれば、ひとつのページに setInterval() は、ひとつにしたいものです。

もちろん、それぞれのフォームに表示するスピードを変えるとなれば、setInterval() もふたつあったほうが楽ですが、すべて同じスピードやタイミングでよければ、1つで十分です。
この Step の setInterval()は、周期間隔が狭くて 負荷がかかるために 遅い端末を使っている人には表示がきつくなるかもしれません。


では、プログラム的な説明

サンプルは、Step.11のマーキー表示を1ページに二つ表示しています。

二つメッセージがあるので、変数myMsg も、それぞれ違う名前にしなければなりません。
サンプルでは、フォーム1のメッセージを myMsg1、フォーム2のメッセージを myMsg2 としました。
非常に安易な名前です。それぞれにもっと、まともな名前をつけましょう (^^;

それぞれのメッセージも文字の長さがちがいます。よって、myCnt もそれぞれ必要です。
サンプルでは、myCnt1、myCnt2 としております。


まとめると、
変数名、関数名は重複しないように、別の名前に変更する。
setInterval() は、できるだけ 1個で済むように、myFunc() 内に統合する。


参考ステップ
Step.5 フォームを使って日付と時間をリアルタイムに表示してみましょう 
Step.6 日付表示はありきたり? だったら表現を変えてみましょう 
Step.8 点滅するメッセージを表示してみましょう
Step.9 左から1文字ずつメッセージを表示してみましょう 
Step.10 「Step.8」と「Step.9」を組み合わせてメッセージを表示してみましょう 
Step.11 右から左へ流れるメッセージを表示してみましょう 


 
イヌでもわかるJavaScript講座 お品書き へ戻ります