ソース改変でテキストを2つ(互いはかぶらないように)表示させる方法を教えてください。
var num = 5;
var Ads = new Array( );
Ads[0] = ( '<script type="text/javascript" src="テキスト1.js" ></script>' );
Ads[1] = ( '<script type="text/javascript" src="テキスト2.js" ></script>' );
Ads[2] = ( '<script type="text/javascript" src="テキスト3.js" ></script>' );
Ads[3] = ( '<script type="text/javascript" src="テキスト4.js" ></script>' );
Ads[4] = ( '<script type="text/javascript" src="テキスト5.js" ></script>' );
Rnd = Math.floor( Math.random ( ) * num );
document.write( Ads[Rnd] );
-----
<body>
<script type="text/javascript" src="上のスクリプト.js"></script>
</body>
2つめを Rnd2 とすると、以下のような感じでどうでしょうか。
~省略~ Rnd = Math.floor( Math.random ( ) * num ); document.write( Ads[Rnd] ); do { Rnd2 = Math.floor(Math.random ( ) * num); } while (Rnd2 == Rnd); document.write(Ads[Rnd2]); ~省略~
2つめを Rnd2 とすると、以下のような感じでどうでしょうか。
~省略~ Rnd = Math.floor( Math.random ( ) * num ); document.write( Ads[Rnd] ); do { Rnd2 = Math.floor(Math.random ( ) * num); } while (Rnd2 == Rnd); document.write(Ads[Rnd2]); ~省略~
大変参考になりました。有り難うございます。
var max = 5; Ads = []; for(n = 0; n < 5; n++){ Ads[n] = ( '<script type="text/javascript" src="テキスト'+(n+1).toString()+'.\ js" ></script>' ); } for(n = 0; n < 2; n++){ index = Math.floor(Math.random() * Ads.length) ; str = Ads.splice(index, 1)[0].toString(); alert(str); }
こんな感じでいかがでしょう?
大変参考になりました。有り難うございます。
if (typeof(Ads) == 'undefined') { var Ads = [ '<script type="text/javascript" src="テキスト1.js" ></script>', '<script type="text/javascript" src="テキスト2.js" ></script>', '<script type="text/javascript" src="テキスト3.js" ></script>', '<script type="text/javascript" src="テキスト4.js" ></script>', '<script type="text/javascript" src="テキスト5.js" ></script>' ] ; } var Rnd = Math.floor(Math.random()*Ads.length) ; var Tmp = Ads[Ads.length-1] ; Ads[Ads.length-1] = Ads[Rnd] ; Ads[Rnd] = Tmp ; document.write(Ads.pop()) ;
ただし、変数 Ads を他で使っていないこと。
大変参考になりました。有り難うございます。
大変参考になりました。有り難うございます。