アプリ版:「スタンプのみでお礼する」機能のリリースについて

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を使うとユーザー側の負担が大きいのも気になりますが・・・

A 回答 (2件)

JavaScriptの場合は、表示させたい文字列をすべて変数で格納する必要がありますので、例えば、1日~31日でメッセージを変えたければ、31種類のメッセージを用意する必要があります。


365日すべてを変えたければ、365個の変数を用意します。
それが嫌なら、主語、熟語、目的語などに変数を分けて、それを組みたてながら出せば、少しの容易でたくさんの組み合わせができます。

ここまでJavaScriptが書けるひとだから、ヒントだけでも良いのかな?
msg =
の前に、msg(1)~msg(31)でメッセージを31個用意します。
そして、日付判定ルーチンを作って、取得した日付で配列変数の変数部分を指定すれば簡単ですね?
    • good
    • 0

<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()に変えれば日ごとにすることができると思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!