COUNT = "23279"; // カウント値 im = new Array(); num = new Array(); free = new Array(); spin_stop = new Array(); ID = new Array(); lock = new Array(); // 使用する各配列を宣言 while (COUNT.length < 5) COUNT = "0" + COUNT; // カウント値の桁数を整える count = new Array(); for (i = 0; i < COUNT.length; i++) count[i] = String(COUNT).substring(i, i + 1); // カウント値を配列化 for (i = 0; i <= 9; i++) { im[i] = new Image(); im[i].src = "./cgi-bin/slot_counter/new_img/" + i + ".gif"; } // カウンター画像をキャッシュ for (i = 0; i <= 5; i++) { num[i] = 0; free[i] = 0; spin_stop[i] = 150; lock[i] = 1; } lock[0] = 0; //各配列に初期値を代入 for (i = 0; i < 5; i++) document.write(""); // カウンター部分のHTMLコードを書き出す // カウンターを動かす関数 function spin(p) { pos = p; // 渡された引数をposに代入 document.images["counter" + pos].src = im[num[p]].src; document.images["counter" + pos].title = num[p]; // カウンター画像を変更 if (free[pos] < 1 + pos) ID[pos] = setTimeout("spin(" + pos + ")", 150); // 規定の回転数までは順次数字を変更 else if (num[pos] == count[pos] && lock[pos] == 0) { clearTimeout(ID[pos]); lock[pos + 1] = 0; // その桁の数字を止めるロックが解除されていたら、 // 正しいカウント値で回転を止め、次の桁の数字を止めるロックを解除 } else ID[pos] = setTimeout("spin(" + pos + ")", spin_stop[pos] += 80); // 規定の回転数を超えた場合 // タイマー数値に80ずつ加算し、徐々に数字の動くスピードを落とす num[pos]++; if (num[pos] > 9) { num[pos] = 0; free[pos]++; } } // カウンターを動かす関数を桁数分開始させる関数 function init() { for (i = 0; i < 5; i++) ID[i] = setTimeout("spin(" + i + ")", i * 200); } // 「読み込みが完了したらinit関数を起動させる記述」を忘れずに書くこと!