【Javascript】画像をランダム表示させ、ボードゲーム用のサイコロを作る
ゲーム用に以下のようなさいころを作ってみました。
html
<section class="diceContent">
<img id="dice"></img> // ここに画像を表示
<button type="button" id="diceBtn">さいころを振る</button>
</section>
CSS
.diceContent{
width: 360px;
height: 200px;
margin: 30px auto;
background: #333;
border-radius: 20px;
position: relative;
}
#diceBtn{
position: absolute;
width: 150px;
height: 30px;
bottom: 20px;
left: 50%;
transform: translate(-50%);
border-radius: 10px;
}
#dice{
position: absolute;
width: 120px;
top: 20px;
left: 50%;
transform: translate(-50%);
}
javascript
let diceArry = ['(画像のパス)/1さいころ.jpg',
'(画像のパス)/2さいころ.jpg',
'(画像のパス)/3さいころ.jpg',
'(画像のパス)/4さいころ.jpg',
'(画像のパス)/5さいころ.jpg',
'(画像のパス)/6さいころ.jpg'
]; // 画像の配列
const dice = document.getElementById("dice"); // ここに画像を表示
const diceBtn = document.getElementById("diceBtn"); // ボタン
dice.src = diceArry[0]; // 最初の画面
diceBtn.addEventListener("click", function(){
if(diceBtn.textContent=='さいころを振る'){
diceBtn.textContent = 'ストップ' // ボタンの表示を変える
timerId = setInterval( () => {
let diceIndex = Math.floor(Math.random() * diceArry.length) ;
dice.src = diceArry[diceIndex];
}, 200); // ランダム表示
}else{
diceBtn.textContent = 'さいころを振る'; // ボタンの表示を変える
clearInterval(timerId); // ランダム表示の停止
}
})
まとめ

画像のパスの配列を作る。
Math.floor(Math.random() * arry.length)でランダムさせる。
setIntervalでランダム表示を繰り返す。
ボタンでスタートとストップを制御する。
こんな記事も読まれています。
-
【HTML】【CSS】【javascript】電卓の作り方
電卓のソースコードを2つ紹介します。javascriptはわずか数行で書けます。
-
【JacvaScript】【CSS】たった4行のJavaScriptでできるハンバーガーメニューの作り方
たった4行のJavaScriptで作るハンバーガーメニューの作り方について紹介します。✖をつくるには、transform-originがポイントです。
- リンク
-
波紋エフェクトを表現するjqueryのripples-min.jsの使い方
jqueryのripples-min.jsを使うと簡単に水面の波紋を表現できます。波紋の広がりの速度、波紋の大きさ、波紋のブレの値を変えていろいろ表現させると面白いです。
-
【Javascript】querySelectorAllで要素を取得し、クリックしたら、クラスを追加したり、削除したりする方法。
JavascriptのquerySelectorAllで要素を取得し、クリックしたら、クラスを追加したり、削除したりする方法について解説します。querySelectorと同じように書いてしまうとエラーがでます。forEachを使うとすべてに適用できます。
- リンク
-
要素の高さを取得する方法。getBoundingClientRectとは?window.innerHeightとは?window.pageYOffsetとは?
要素の高さを取得する方法について解説します。getBoundingClientRect、window.innerHeight、window.pageYOffsetについて理解し、要素がいつ画面に現れるかを把握できるようにしましょう。
-
Javascriptを使ったページネーションの実装
トップページの記事が増えてきたので、何とかページネーションで最新の記事だけを表示できないかと思っていたら、いい記事を発見しました。カスタマイズして実装することができました。
- リンク
-
【Javascript】マウスの指す(X, Y)座標とドラッグ & ドロップを理解する
マウスの指す(X, Y)座標とドラッグ & ドロップについて解説します。mousedown, mouseover, mousemove, mouseupを使います。
-
【javascript】連想配列をテーブルできれいに表示する方法
javascript(Object.entries)を使って、連想配列の中身をテーブルできれいに表示する方法について紹介します。
- リンク