バナーランダム表示のIEでの不具合
画像とリンク先のセットをいくつか用意して、任意の場所に任意の数ランダムで表示させるJavaScriptです。
WEBで見つけたJavaScriptですが提供元は失念しました。
<script type="text/javascript">
<!--
var images = {
// 画像とジャンプ先の URL のペア
url : [
['http://img06.shop-pro.jp/PA01022/054/product/2717384_th.gif', '?pid=2717384'],
['http://img06.shop-pro.jp/PA01022/054/product/2717387_th.gif', '?pid=2717387'],
['http://img06.shop-pro.jp/PA01022/054/product/3627058_th.gif', '?pid=3627058'],
['http://img06.shop-pro.jp/PA01022/054/product/4560888_th.gif', '?pid=4560888'],
['http://img06.shop-pro.jp/PA01022/054/product/4560969_th.gif', '?pid=4560969'],
],
// 順番のシャッフル
shuffle : function() {
for (i = this.url.length; i > 0; --i) {
tmp = this.url[p = Math.floor(Math.random()*i)] ;
this.url[p] = this.url[i-1] ;
this.url[i-1] = tmp ;
}
},
p : 0, // 表示画像のポインタ
// 画像表示
put : function() {
document.write('<a href="'+this.url[this.p][1]+'"><img src="'+this.url[this.p++][0]+'" /></a>') ;
if (this.p >= this.url.length) this.p = 0 ;
}
} ;
images.shuffle() ;
// -->
</script>
<!--ソースをランダムに書き出し-->
<ul class="tagCloud">
<li class=level1><script type="text/javascript">images.put() ;</script></li>
<li class=level2><script type="text/javascript">images.put() ;</script></li>
<li class=level3><script type="text/javascript">images.put() ;</script></li>
</ul>
IEで書き出し個数が不安定なのですが原因や改善方法などアドバイスを頂けると助かります。
IE7で不具合を確認しており、firefox,safari,chromeなどでは問題ありません。
http://catee.net/
こちらの下部の画像がクラウドっぽく表示されている箇所に使用しており
36セット中18ヶ書き出していますが、数ヶしか表示されないことが多々あります。
よろしくお願い致します。
お礼
なるほどありがとうございました。