ステータスバーに文字をスクロールさせます。JavaScriptの出始めの頃に流行した、なつかしの?古典的スクリプトとも言えるものです。statusプロパティを利用して作っています。
応用:msg='文字列'の文字列部分を書き換えてお使いください。
参照: function, substring(), status, length, clearTimeout(), setTimeout(),
画面の一番下をみてね。
<html>
<head>
<title></title>
<script language="JavaScript">
<!--
var cnt = -2; //文字位置
var speed = 120; //動かすスピード(1/1000秒単位)
var msg = "こんにちは(^^)/~こんにちは(^^)/~"; //メッセージ内容
var timeID = setTimeout('',1); //IE対策なにもしない^^;タイマーセット
// 文字を移動させる
function scll(){
status = msg.substring(cnt=cnt+2,msg.length+2);
//日本語は2文字づつ動かす
if (cnt>msg.length){cnt=-2};
clearTimeout(timeID);//タイマーをクリア
timeID = setTimeout('scll()',speed);
}
//-->
</script>
</head>
<body onLoad="scll()">
</body>
</html>
status='文字列'でステータスバーに'文字列'を表示しますmsg.substring(a,b)はここでは変数msgの中の文字のa番目の位置からb番目の前までの文字を抜きだします。たとえば、'0123456789'.substring(4,9)で取り出されるのは、'45678'です。ここでは(a,b)を(cnt++,msg.length+1)とすることで、この命令がsetTimeoutによって繰り返されるたびに取り出す文字を順送りしています。尚、Netscapeは日本語1文字(2バイト)を2文字分としてカウントするので、+1づつ移動すると移動中に文字の頭の部分が少し文字化け(^^;します。そこで、(cnt=cnt+2,msg.length+2)という風に2バイトづつ動かします
タイマーID=setTimeout("命令",ミリ秒) 指定したミリ秒(1/1000)後に命令を呼び出します。' ' か " " でくくるのを忘れてはいけません。ミリ秒は1000で1秒(ただし、遅い機械なら当然1秒以上かかります^^;)数値を表わす文字列やプロパティも使えます。タイマーIDは clearTimeout(タイマーID)の様に使いsetTimeoutで設定したタイマーを解除します。 <BODY onLoad="scll()">でページが読み込まれたらscll()を実行します
| CONTENTS
| PART1 これだけ知っていれば大丈夫
| PART2 サンプルの紹介
| PART3 JavaScript言語仕様
| PART4 JavaScriptクイック書式一覧
| PART5 JavaScriptサイト
| オンラインサポートページ(回線をつないでください)