- ベストアンサー
スクロールの中の文章を日ごとにかえる
JavaScriptをつかってテキストボックス内の文字をスクロールさせる方法ってありますよねぇ・・・この文字列を日ごとに変える方法ってあるのでしょうか? <script language="Javascript"> <!-- msg="この部分に文字列を入力します "; function scrollText() { document.myForm.scroll.value = msg; msg = msg.substring(1,msg.length)+msg.substring(0,1); } //--> </script> <body onload="setIntereval('scroll()',200)"> <form name="myForm"> <input type="text" name="scroll" size="50"> </form> SSIを使えれば、CGIスクリプトをつかって、日ごとに表示させる文字列、すなわちmsgの部分を書き換えて変更できるのですが・・・データベースから引っ張ってきて表示させるJavaScriptを使うとユーザー側の負担が大きいのも気になりますが・・・
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
<html> <head> <title>スクロール</title> <script language="JavaScript"> <!-- now=new Date(); msg=new Array(); msg[0]="0時です"; msg[1]="1時です"; msg[2]="2時です"; msg[3]="3時です"; msg[4]="4時です"; msg[5]="5時です"; msg[6]="6時です"; msg[7]="7時です"; msg[8]="8時です"; msg[9]="9時です"; msg[10]="10時です"; msg[11]="11時です"; msg[12]="12時です"; msg[13]="13時です"; msg[14]="14時です"; msg[15]="15時です"; msg[16]="16時です"; msg[17]="17時です"; msg[18]="18時です"; msg[19]="19時です"; msg[20]="20時です"; msg[21]="21時です"; msg[22]="22時です"; msg[23]="23時です"; msg=msg[now.getHours()]+" "; function scrollText(){ document.myForm.scroll.value=msg; msg=msg.substring(1,msg.length)+msg.substring(0,1); } //--> </script> </head> <body onload="setInterval('scrollText()',200)"> <form name="myForm"> <input type="text" name="scroll" size="15"> </form> </body> こんな感じでどうでしょう? 例では、日ごとではなくて、1時間ごとですが、getHours()の部分をgetDate()に変えれば日ごとにすることができると思います。
その他の回答 (1)
- Spur
- ベストアンサー率25% (453/1783)
JavaScriptの場合は、表示させたい文字列をすべて変数で格納する必要がありますので、例えば、1日~31日でメッセージを変えたければ、31種類のメッセージを用意する必要があります。 365日すべてを変えたければ、365個の変数を用意します。 それが嫌なら、主語、熟語、目的語などに変数を分けて、それを組みたてながら出せば、少しの容易でたくさんの組み合わせができます。 ここまでJavaScriptが書けるひとだから、ヒントだけでも良いのかな? msg = の前に、msg(1)~msg(31)でメッセージを31個用意します。 そして、日付判定ルーチンを作って、取得した日付で配列変数の変数部分を指定すれば簡単ですね?