<html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>サンプル</title> <script type="text/javascript"> <!-- function bgchange() { var sec = new Date().getSeconds() % 10; if (sec < 5) { document.body.background = "./image/image01.gif"; // 壁紙の URL を指定 } else { document.body.background = "./image/image02.gif"; } } // --> </script> </head> <body background="./image/image01.gif" onload="bgchange();"> </body> </html>
new Date().getSeconds() で現在の秒を取得します。今回は秒数の下1桁を取得したいので、さらに「% 10」とします。% 10 は、現在の秒を 10 で割った余りの数字という意味です。これで変数 sec に現在の時間の下1桁の秒数を代入します。
そして、1桁目の秒が0〜4なら image01.gif を壁紙に、5〜9なら image02.gif の壁紙を表示します。JavaScript が無効の時のために body 内にメインの壁紙を指定しておきます。
<html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>サンプル</title> <script type="text/javascript"> <!-- function bgchange() { var wall = Math.floor(Math.random() * 2); document.body.background = (wall == 0) ? "./image/image01.gif" : "./image/image02.gif"; } // --> </script> </head> <body background="./image/image01.gif" onload="bgchange();"> </body> </html>
秒数指定より簡単に壁紙がランダムで変化します。変わるのは2分の1です。Math.random() で乱数を作ります。* 2 は、0 と 1 の2個の乱数です。余談ですが、* 10 とすると0〜9の10個の乱数が作られます。