dポイントプレゼントキャンペーン実施中!

配列imに入っている数値が1なら"ok"と表示、0なら"-----"と表示したいのです。
以下のソースなのですが
<html>
<head>
<style type=text/css>

.im{
font-size:1.5em;
font-weight:500;
color:#ffffff;
text-dacoration:none;
text-decoration:blink;
z-index:3;
}

</style>

<script langage="JScript">

var im=new Array(30);
var haba=0;

//初期設定
function Preferences(){
for(i=1;i<=30;i++){
obj=document.getElementById("num"+i);
obj.style.posTop+=haba;
haba+=25;
}
for(f=1;f<=30;f++){
im[f]=0;
im[2]=1;
im[5]=1;
if(im[f]==0){
num="num"+f;
num.innerText="----------";
}else{num.innerText="ok";}
}
}

</script>
</head>

<body bgcolor="#0000000" onLoad="Preferences()">

<div id="num1" class="im" style="position:absolute;top:25px;left:240px;">A1</div>
<div id="num2" class="im" style="position:absolute;top:25px;left:240px;">A2</div>
<div id="num3" class="im" style="position:absolute;top:25px;left:240px;">A3</div>
<div id="num4" class="im" style="position:absolute;top:25px;left:240px;">A4</div>
<div id="num5" class="im" style="position:absolute;top:25px;left:240px;">A5</div>
<div id="num6" class="im" style="position:absolute;top:25px;left:240px;">A6</div>
<div id="num7" class="im" style="position:absolute;top:25px;left:240px;">A7</div>
<div id="num8" class="im" style="position:absolute;top:25px;left:240px;">A8</div>
<div id="num9" class="im" style="position:absolute;top:25px;left:240px;">A9</div>
<div id="num10" class="im" style="position:absolute;top:25px;left:240px;">A10</div>
<div id="num11" class="im" style="position:absolute;top:25px;left:240px;">A11</div>
<div id="num12" class="im" style="position:absolute;top:25px;left:240px;">A12</div>
<div id="num13" class="im" style="position:absolute;top:25px;left:240px;">A13</div>
<div id="num14" class="im" style="position:absolute;top:25px;left:240px;">A14</div>
<div id="num15" class="im" style="position:absolute;top:25px;left:240px;">A15</div>
<div id="num16" class="im" style="position:absolute;top:25px;left:240px;">A16</div>
<div id="num17" class="im" style="position:absolute;top:25px;left:240px;">A17</div>
<div id="num18" class="im" style="position:absolute;top:25px;left:240px;">A18</div>
<div id="num19" class="im" style="position:absolute;top:25px;left:240px;">A19</div>
<div id="num20" class="im" style="position:absolute;top:25px;left:240px;">A20</div>
<div id="num21" class="im" style="position:absolute;top:25px;left:240px;">A21</div>
<div id="num22" class="im" style="position:absolute;top:25px;left:240px;">A22</div>
<div id="num23" class="im" style="position:absolute;top:25px;left:240px;">A23</div>
<div id="num24" class="im" style="position:absolute;top:25px;left:240px;">A24</div>
<div id="num25" class="im" style="position:absolute;top:25px;left:240px;">A25</div>
<div id="num26" class="im" style="position:absolute;top:25px;left:240px;">A26</div>
<div id="num27" class="im" style="position:absolute;top:25px;left:240px;">A27</div>
<div id="num28" class="im" style="position:absolute;top:25px;left:240px;">A28</div>
<div id="num29" class="im" style="position:absolute;top:25px;left:240px;">A29</div>
<div id="num30" class="im" style="position:absolute;top:25px;left:240px;">A30</div>

</body>
</html>

innrTextで表示する文字を変えるところがおかしいんだと思いますがどう直せばいいのか分かりません。
どなたか教えてください。

A 回答 (1件)

なぜforループによってgetElementByIdとnumで使い分けているのでしょうか?


それとinnerTextは方言なのであまりお勧めできません。
スタイルのところははしょって書くとこんな感じ

<script>
var im=new Array(30);
function Preferences(){
for(var f=1;f<=30;f++){
im[f]=0;
im[2]=1;
im[5]=1;
var num=document.getElementById("num"+f.toString());
if(im[f]==0){
num.innerHTML="----------";
}else{
num.innerHTML="ok";
}
}
}
window.onload=function(){Preferences()}
</script>
<div id="num1" >A1</div>
<div id="num2" >A2</div>
<div id="num3" >A3</div>
<div id="num4" >A4</div>
<div id="num5" >A5</div>
<div id="num6" >A6</div>
<div id="num7" >A7</div>
<div id="num8" >A8</div>
<div id="num9" >A9</div>
<div id="num10">A10</div>
<div id="num11">A11</div>
<div id="num12">A12</div>
<div id="num13">A13</div>
<div id="num14">A14</div>
<div id="num15">A15</div>
<div id="num16">A16</div>
<div id="num17">A17</div>
<div id="num18">A18</div>
<div id="num19">A19</div>
<div id="num20">A20</div>
<div id="num21">A21</div>
<div id="num22">A22</div>
<div id="num23">A23</div>
<div id="num24">A24</div>
<div id="num25">A25</div>
<div id="num26">A26</div>
<div id="num27">A27</div>
<div id="num28">A28</div>
<div id="num29">A29</div>
<div id="num30">A30</div>
    • good
    • 0
この回答へのお礼

yambejpさんご回答ありがとうございます。
forループによってgetElementByIdとnumで使い分けているのは意味はありませんね。すみません。
innerTextについてのご指摘もありがとうございます。
おかげで思うように動きました。

お礼日時:2010/01/19 17:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!