プロが教える店舗&オフィスのセキュリティ対策術

画像をフォルダから自動で読み込み、ランダムに背景に読み込ませたいのです。

ランダムに背景に表示させる方法は以下のスクリプトで達成済みです。

<script type="text/javascript">
var imglst= new Array(
"haikei/bg001.jpg",
"haikei/bg002.jpg",
"haikei/bg003.jpg"
);

function randombg(){
var imgnum=Math.floor(Math.random()*imglst.length);
document.body.style.backgroundImage="url("+imglst[imgnum]+")";
}
</script>
<body onload="randombg();">

上のスクリプトのnew Array()でいちいち画像のフォルダ名/画像名.jpgとかを記述するのではなく、自動でhaikeiという名前のフォルダからやりたいのです。画像数は100枚以上あるのでいちいち書くとファイルサイズも肥大化するので。

A 回答 (1件)

ランダム要素の画像パスは、全て「"haikei/bg(連番).jpg"」ですか?


haikei2/bg(連番).jpgとか、haikei/bg(連番)_a.jpgなどの画像名が含まれないのなら、
以下の方法でどうでしょうか。

function randombg(){
var imgnum=Math.floor(Math.random()*画像の枚数);
document.body.style.backgroundImage="url('haikei/bg"+imgnum+".jpg')";
}

この回答への補足

なるほど、難しく考えていました。

ランダム要素の画像パスは全て「"haikei/bg(連番).jpg"」です。
しかし、連番は
bg001.jpg, bg002.jpg ~bg010.jpg ~bg100.jpg
となっています。bg1.jpg, bg2.jpg, ~bg10.jpg, ~bg100.jpgとなってもいいのですが管理の為に001,010,100となっています。

このような場合はどのようにすればよろしいのでしょうか?

補足日時:2006/08/12 02:03
    • good
    • 0
この回答へのお礼

なんか調べて適当にやっていたらできました!
function reFresh() {
location.reload(true);
}
window.setInterval("reFresh()",1000);

currentdate=new Date();
//var imgnum=Math.floor(currentdate.getSeconds()/((60/999)+1));
var imgnum=Math.floor(Math.random()*999)+1;
//var imgnum="11";
imgnum=""+imgnum;

if (imgnum.length=="1"){
document.writeln("imgnum = "+imgnum);
document.writeln("<hr />ONE DIGIT<hr />");
document.writeln("imgnum.length = "+imgnum.length);
document.writeln("<hr />");
document.writeln("00"+imgnum);
}
if (imgnum.length=="2"){
document.writeln("imgnum = "+imgnum);
document.writeln("<hr />TWO DIGIT<hr />");
document.writeln("imgnum.length = "+imgnum.length);
document.writeln("<hr />");
document.writeln("0"+imgnum);
}
if (imgnum.length=="3"){
document.writeln("imgnum = "+imgnum);
document.writeln("<hr />THREE DIGIT<hr />");
document.writeln("imgnum.length = "+imgnum.length);
document.writeln("<hr />");
document.writeln(""+imgnum);
}
</script>

お礼日時:2006/08/12 04:58

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