忍者ブログ

27Apr

[PR]

Posted by in

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

07May

ランダムに画像を表示

Posted by No Name Ninja in Javascript Sample

画像をランダムに切り替えます。これは配列とRandomクラスを使用すれば簡単にできます。

SAMPLE

解説

<script language="javascript" type="text/javascript">

var imgPaths = new Array();
imgPaths.push('./img/0142-650x435.jpg');
imgPaths.push('./img/0158-650x435.jpg');
imgPaths.push('./img/0177-650x435.jpg');
imgPaths.push('./img/0142-650x435.jpg');
imgPaths.push('./img/0007-650x435.jpg');



onload = function(){
  //初回実行
  showPicAtRandom();
 
  //2回目以降は、ボタン押されるたびに実行
  document.forms['testForm'].elements['testButton'].onclick = showPicAtRandom;

}

function showPicAtRandom(){
  //ランダムに値を生成する。
  var index = Math.floor(Math.random() * imgPaths.length);
 
  //randome関数に「1」を含むブラウザがある可能性も否定できない状況なので、チェック
  index = (index >= imgPaths.length)?(imgPaths.length - 1):index;
 
  document.getElementById('targetImg').src = imgPaths[index];

}
</script>


・フィールド変数(imgPaths)
表示する画像候補を配列化しています。Arrayオブジェクトであれば、pushはとても便利です。後からいくつでも増やせますし、ミスしません

・onload
HTML読み込み完了後に実行されます。
画面表示時にshowPicAtRandomを実行しています。以後は、更新ボタンを押されるたびに実行されます。

・showPicAtRandom
0以上1未満の乱数を作成し、配列の数を積算して小数点を切り捨てるとランダムなINDEX値がとれます。方程式のように覚えてしまっています。
Math.randomですが、標準は「0以上1未満」です。ただブラウザによっては、解説で「0以上1以下」というのが散見するので、念のため、配列INDEXを超えた場合は、配列INDEXに収まるようにしています。








画像素材は http://0501file.com/  よりお借りいたしました。
どうもありがとうございます。

PR

Comment


Vodafone絵文字 i-mode絵文字 Ezweb絵文字

Trackback