たくさんのサイコロを画面が切り替わったと同時に出てきて、サイコロが全部ランダムに違う数字になって出てくるようにしたいのですが、HTML文の
<li><img class="simap" src="img/MAP.png"/><img src="sai1.png" class="saikoro" name="saikoro"></li>の行が1個だったら、画面が切り替わるとちゃんとランダムに数字が変わるうようになり、何も問題ないのですが、
この行が2行以上になると、ランダムになるはずなのに、なぜかなりません。
毎回サイコロの目は1です。
どうしてランダム機能がちゃんと機能しないのか、
どう修正すればいいのか、
アドバイスお願いします。
*****************HTML文*********************
<html>
<head>
<link rel="stylesheet" href="daisu.css" type="text/css"/>
<script src="daisu.js"></script>
<title>ダイス戦略</title>
</head>
<body>
<div id="title">
<p>ああああ</p>
<p><button id="btn_gamennkirikae" type="button">あああ</button></p>
</div>
<div id="gamegamenn">
<p><button id="btn_hitori" type="button">ああああ</button></p>
</div>
<div id="map">
<ul id="sima">
<li><img class="simap" src="img/MAP.png"/><img src="sai1.png" class="saikoro" name="saikoro"></li> **********ここ***********************************
</ul>
</div>
<body>
</html>
******************CSS文********************
#title{
width:1200px;
height:800px;
border:4px solid gray;
text-align:center;
margin-top:70px;
margin-left:auto;
margin-right:auto;
}
#gamegamenn{
width:1200px;
height:800px;
border:4px solid gray;
text-align:center;
margin-top:70px;
margin-left:auto;
margin-right:auto;
}
button#btn_gamennkirikae{
width: 150px;
height: 50px;
margin-top:300px;
}
#map{
width:1200px;
height:800px;
border:4px solid gray;
text-align:center;
margin-top:70px;
margin-left:auto;
margin-right:auto;
}
#map li{
float:left;
list-style-type: none;
margin-left:-50px;
}
#map img{
}
#sima{
float:left;
margin-left:50px;
}
.saikoro{
width:50px;
height:50px;
position:relative;
right:80px;
bottom:25px;
}
.simap{
}
*****************JS文*********************
window.addEventListener('load',initGame,false);
function initGame(){
var dialog = document.querySelector('#title');
dialog.style.display='block';
var dialog =document.querySelector('#gamegamenn');
dialog.style.display='none';
var dialog =document.querySelector('#map');
dialog.style.display='none';
var btn =document.querySelector('#btn_gamennkirikae');
btn.addEventListener('click',gamegamenn,false);
}
function gamegamenn(){
var dialog = document.querySelector('#title');
dialog.style.display='none';
var dialog =document.querySelector('#gamegamenn');
dialog.style.display='block';
gamestart();
}
function gamestart(){
var btn =document.querySelector('#btn_hitori');
btn.addEventListener('click',hitori,false);
}
function hitori(){
var dialog =document.querySelector('#gamegamenn');
dialog.style.display='none';
var dialog =document.querySelector('#map');
dialog.style.display='block';
chg();
}
function chg(){
sai=new Array("sai0.png","sai1.png","sai2.png","sai3.png","sai4.png","sai5.png","sai6.png");
r=Math.random()*6; //乱数表
rr=Math.floor(r)+1; //切り捨てて+1する
document.saikoro.src=sai[rr];//サイコロを入れ替える
}
No.2ベストアンサー
- 回答日時:
>この行が2行以上になると、ランダムになるはずなのに、なぜかなりません。
なぜって、2行以上になったら動かないもんこれじゃ。
document.saikoro.src=sai[rr];
これだとname="saikoro"のものしか変更できない。
だから、単純に行を増やしただけじゃダメ。
var sai=new Array("sai0.png","sai1.png","sai2.png","sai3.png","sai4.png","sai5.png","sai6.png");
var imgs = document.querySelectorAll('.saikoro');
for (var i = 0; i < imgs.length; i ++) {
var r = Math.floor(Math.random()*sai.length);
imgs[i].setAttribute('src', sai[r]);
}
こんな感じじゃないの?
こうすれば<img class="saikoro">がいくら増えても動く
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jQueryで同じクラス名のものを...
-
jQueryでのドラッグアンドドロ...
-
デフォルト非表示にしたい。【t...
-
clear機能を失わずにファイルア...
-
MAX関数を使ってからLEFT JOIN...
-
CSS のみのタブ切り替えについて
-
createElementで作成した要素を...
-
[急ぎ] videoタグで埋め込んだm...
-
jqueryで要素の中身を要素の外...
-
スクロール可能なチェックボックス
-
jspでcssが読み込めない
-
eclipseでcssを使うためには?
-
htmlの記述で link rel=styles...
-
アコーディオン自動開閉メニュ...
-
SimplyScrollについて
-
JQuery UIで、表示したタブの中...
-
divのheight指定で画面一杯に表...
-
【初心者】UWSCでjavascriptで...
-
チェックボックスに入っている...
-
jQueryアコーディオンで複数メ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
デフォルト非表示にしたい。【t...
-
jQueryで同じクラス名のものを...
-
Colorboxがうまく設置できません
-
Javascript初心者|jQueryの.va...
-
jQueryでのドラッグアンドドロ...
-
アップロードファイルの種類に...
-
embed要素のsrc属性の値を変更...
-
fancyboxのポップアップ時の画...
-
JQueryで画像の上で文字を動かす
-
一定時間で入れ替わるバナー画...
-
ボタンを押すたびに交互に切り...
-
交互に入れ替わる画像を複数配置
-
全部のサイコロをjavascriptで...
-
clear機能を失わずにファイルア...
-
JavaScriptが、Firefoxで動かな...
-
bxsliderで最初に縦に複数表示...
-
「画像クリックで音声再生」を ...
-
画像マウスオーバーで、checkb...
-
イラストのボタンを押したとき...
-
背景色と連動するスライドショ...
おすすめ情報