スクローラー日本語版


 日本語2バイトコードを判別しメッセージを流します。流れるメッセージは、自動的に生成されます。


◆スクリプト
<SCRIPT Language="JavaScript"><!--
	stcnt = 0;
	str = "ようこそ「"+document.title+"」のページへ!";
	blnk = "                                              ";
	b3 = blnk+blnk+blnk;
	sc = b3.length;
function Klength(moji)
{
		klen = 0;
		for (ki=0; ki<moji.length; ki++)
		{
			c = escape(moji.charAt(ki));
			cb = eval("0x"+c.charAt(1));
			if ((cb==8) || (cb==9) || (cb==14) || (cb==15)) ki++;
			klen++;
		}
	return klen;
}
// 指定した文字列を取得します(Shift JIS)
function Ksubstring(moji,st,ed)
{
	len = 0;
	rstr = "";
	for(ai=0; ai<moji.length; ai++)
	{
		kstr=moji.charAt(ai);
		c = escape(kstr);
		cb = eval("0x"+c.charAt(1));
		if ((cb==8) || (cb==9) || (cb==14) || (cb==15))
		{
			kstr=kstr+moji.charAt(ai+1);
			ai++;
		}
		if ((st<=len) && (ed>=len)) rstr += kstr;
		len++;
	}
	return rstr;
}
// グローバル変数にして速度を稼ぐ
	ml = Klength(str);
// 配列に表示する文字を記憶させてしまう
	px = new makeArray(ml+2);
	px[0]="";
	for (ic=1;  ic<ml+1; ic++)
	{
		px[ic-1]=Ksubstring(str,ic,ml);
		window.status = "メッセージを作成中です....["+ic+"/"+ml+"]";
	}
function makeArray(array_n)
{
	this.length = array_n;
	for (ai = 0; ai < array_n; ai++) this[ai] = "";
}
// スクローラー
function scroller()
{
	if (stcnt > sc)
	{
		window.status = px[stcnt-sc];
	}else{
		window.status=b3.substring(stcnt,sc)+str;
	}
	stcnt>(sc+ml) ? stcnt=0 : stcnt++;
	timeID = window.setTimeout("scroller()",200);
}
// --></SCRIPT>