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

同じような質問があり、ここの↓
http://oshiete1.goo.ne.jp/kotaeru.php3?q=893308
lead1976さんの回答どおりやったら出来たんですが、リンク先は固定のままで、画像だけ順番が入れ替わってしまいました。。。

リンク先もちゃんと入れ替わる方法を教えてください。
ちなみに自分は知識がまるでないので専門用語とかさっぱりわかりません。

出来ればコピペで一部変更するだけで使えるように教えてくれると助かります。
よろしくお願いします。

A 回答 (1件)

とりあえず作ってみました。



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=Shift_JIS">
<title>バナーランダム表示</title>
<script type="text/javascript">
<!--
function bannerclass(address,src){
this.src = src;
this.address = address;
}

function getBannerAddress(){
var i = 0;
var tempAddressList = new Array();

while(document.getElementById('banner' + i)){
tempAddressList[i] = new bannerclass(document.getElementById('banner' + i).parentNode.href,document.getElementById('banner' + i).src);
i++;
}

return tempAddressList;
}

function setBannerAddress(tempBannerData){
var bannernum = tempBannerData.length;
var i;

for (i = 0; i < bannernum; i++){
var rndNum = Math.floor(Math.random() * bannernum);
var tempData = tempBannerData[rndNum];
tempBannerData[rndNum] = tempBannerData[i];
tempBannerData[i] = tempData;
}

for (i = 0; i < bannernum; i++){
document.getElementById('banner' + i).parentNode.href = tempBannerData[i].address;
document.getElementById('banner' + i).src = tempBannerData[i].src;
}
}

function setBanner(){
var tempdata = getBannerAddress();

setBannerAddress(tempdata);
}

if (window.addEventListener) window.addEventListener("load", setBanner, false);
else if (window.attachEvent) window.attachEvent("onload", setBanner);
else window.onload = setBanner;

// -->
</script>
</head>
<body>

<p>
<a href="address1.html"><img src="001.png" id="banner0" alt="banner"></a>
</p>
<p>
<a href="address2.html"><img src="002.png" id="banner1" alt="banner"></a>
</p>
<p>
<a href="address3.html"><img src="003.png" id="banner2" alt="banner"></a>
</p>

</body>
</html>

使い方は img タグの id に "banner0" といったように banner に続けて数字を入れるだけ。あとは JavaSscript が勝手にやってくれます。

並び替えの精度はあまりよくありませんが、とりあえず求められている機能は持たせてあります。
    • good
    • 0
この回答へのお礼

出来ました!!
ありがとうございます!!

すごく簡単でとても役に立ちました。
また質問させていただいた時はよろしくお願いします!!

お礼日時:2007/04/01 07:16

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