全部のサイコロをjavascriptで動かしたい。
たくさんのサイコロを画面が切り替わったと同時に出てきて、サイコロが全部ランダムに違う数字になって出てくるようにしたいのですが、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]; //サイコロを入れ替える
}
お礼
コーディングにたくさんミスがありました。その上、この言語に関するいろんなことがわからなかったため、たいへん失礼しました。 clientHeightすらしりませんでしたし、jsの突っ込み方も変でした。 しかながら今回たいへん参考になりました。でうまくいきました。 ありがとうございました。
補足
すいませんでした。 document.getElementById('A').sytle.height="1000px"; と、指定した場合1000pxが返ってきます。 <div id="A" style="height:1000px;">でstyle.heightで1000pxが返ってきます。 #A{ height:auto; } またはheightの指定なしで""(空文字列)が返ってきます。 実現したかったことは、2段組のサイト(cssでpositionを使ってやっています)で、右側の高さと左側の高さを合わせたいということで、 右側の高さが可変なので、この高さをどうにかして取得できないかということなのです。 予め左側の高さを1000pxくらいにしていますが、サイトの内容が変わる度に左側の高さを変更するのが面倒なのです。 コードを張りたいのですが、ごちゃごちゃで。 環境ははWINXP、IE6、DOCTYPE?すいません。