• ベストアンサー

カウントダウン JavaScript の else if 3行目以降が実行されない

ホームページに以下のようなJavaScriptを実行したいのですが、else if の3行目以降が実行されません。 3行目以降も実行するには、どこを修正したら宜しいのでしょうか? <script language="javascript"> <!-- var set_y = 2009; var set_m = 4; var set_d = 10; var now = new Date(); var spday= new Date(set_y,set_m-1,set_d); a = (spday.getTime() - now.getTime())/(24*60*60*1000); a= Math.ceil(a); if(a >0) document.write('大会まで<BR>あと</FONT><FONT size="7" color="#ccff00" face="Arial">', a,'</FONT><FONT size="6" color="#ffffff" face="Arial">日') else if(a==0) document.write('本日は、大会1日目<BR><FONT size="4"> </FONT><BR><FONT size="5">跳躍競技</FONT><BR></FONT><FONT size="7" color="#ccff00" face="Arial">走り幅跳び</FONT>') else if(a=-1) document.write('本日は、大会2日目<BR><FONT size="4"> </FONT><BR><FONT size="5">跳躍競技</FONT><BR></FONT><FONT size="7" color="#ccff00" face="Arial">走り高跳び</FONT>') else if(a=-2) document.write('本日は、大会3日目<BR><FONT size="4"> </FONT><BR><FONT size="5">投擲競技</FONT><BR></FONT><FONT size="7" color="#ccff00" face="Arial">砲丸投げ</FONT>') else if(a=-3) document.write('本日は、大会4日目<BR><FONT size="4"> </FONT><BR><FONT size="5">投擲競技><BR></FONT><FONT size="7" color="#ccff00" face="Arial">円盤投げ</FONT>') else if(a=-4) document.write('本日は、大会5日目<BR><FONT size="4"> </FONT><BR><FONT size="5">トラック競技><BR></FONT><FONT size="7" color="#ccff00" face="Arial">110m ハードル</FONT>') else if(a=-5) document.write('本日は、大会6日目') else if(a=-6) document.write('本日は、大会7日目<BR><FONT size="4"> </FONT><BR><FONT size="5">トラック競技</FONT><BR></FONT><FONT size="7" color="#ccff00" face="Arial">10000m</FONT>') else if(a=-7) document.write('本日は、大会8日目<BR><FONT size="4"> </FONT><BR><FONT size="5">トラック競技><BR></FONT><FONT size="7" color="#ccff00" face="Arial">リレー</FONT>') </script>

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

ifの中の条件文が間違ってますね else if(a=-n)ではなくelse if(a==-n)

DrPopo
質問者

お礼

ありがとうございます。 回答番号No.1と合わせて修正しました所、無事解決いたしました。

その他の回答 (1)

  • equinox2
  • ベストアンサー率48% (321/660)
回答No.1

document.write() のあとに ; がありません。

DrPopo
質問者

お礼

ありがとうございます。 回答番号No.2と合わせて修正しました所、無事解決致しました。 助かりました。

関連するQ&A

  • document.write()の()内にタグを使用したいのですが

    質問いたします。 カウントダウンに関する質問なのですが、例えば以下のスクリプトの中でdocument.write()の()内の".happy."の部分の色を変えたいのですが、タグの挿入のルールが解りません。 document.write("誕生日まであと",<font color="#FF0000">happy</font>," 日") とか色々何パターンか試して見たのですが、間違っているようで表示されなくなってしまいます。 <SCRIPT language="JavaSCRIPT"> <!---- var set_y = 2006; //年 var set_m = 10; //月 var set_d = 01; //日 var now = new Date(); var spday= new Date(set_y,set_m-1,set_d); happy = (spday.getTime() - now.getTime())/(24*60*60*1000); happy = Math.ceil(happy); if(happy >0) document.write("誕生日まであと ",happy," 日"); //カウントダウン else if(happy ==0) document.write("誕生日おめでとう"); //当日 else if(happy <0) document.write("来年もよろしくね!"); //その後 //------> </script> 適切な場所に<font color="#FF0000">~</font>を入れる書き方をお教え頂ければ幸いでございます。よろしくお願い致します。

  • JavaScript初心者です。質問が

    あります。 誕生日勘定関数birth()、 うるう年対応関数uruu() はそれぞれ単独で作動することを確認しています。 がbirth()にuruu()を組み込むと作動しなくなります。 どうしたら解決するのでしょうか? <script language="JavaScript"> <!-- function birth(){ set_m = eval(document.myForm.formm.value); set_d = eval(document.myForm.formd.value); if(set_m<1 || set_m>12){ alert("正しい月日を入力してください!"); return false; } if(set_m ==2 && set_d>29){ alert("正しい月日を入力してください!"); return false; } if(set_m ==1 | set_m ==3 | set_m ==5 | set_m ==7 | set_m ==8 | set_m ==10 |set_m ==12){ if(set_d<1 || set_d>31){ alert("正しい月日を入力してください!"); return false; } }else if(set_d <1 | set_d>30){ alert("正しい月日を入力してください!"); return false; } if(set_m ==2 && set_d ==29) uruu(); else if{ now = new Date(); b = now.getYear(); spday= new Date (b,set_m-1,set_d); spday2 = new Date(b-1,set_m-1,set_d); spday3 = new Date(b+1,set_m-1,set_d); a = (spday.getTime() - now.getTime())/(24*60*60*1000); a = Math.ceil(a); c = (spday2.getTime() - now.getTime())/(24*60*60*1000); c = Math.ceil(c); d = (spday3.getTime() - now.getTime())/(24*60*60*1000); d = Math.ceil(d) aa = Math.abs(a); cc = Math.abs(c); dd = Math.abs(d); if(aa==0) document.write("誕生日おめでとう!!"); else if( a<0 && dd>aa && aa<cc) document.write("誕生日から",aa,"日過ぎました・・・"); else if(a<0 && aa>=dd && dd<cc) document.write("あと",dd,"日で誕生日です。"); else if(aa<=cc && aa<dd) document.write("あと",aa,"日で誕生日です。");else if(aa>cc && cc<dd ) document.write("誕生日から",cc,"日過ぎました・・・"); } } function uruu(){ now = new Date(); b = now.getYear(); spday = new Date(b,2-1,29); a = (spday.getTime()- now.getTime())/(24*60*60*1000); a = Math.ceil(a); aa = Math.abs(a); if(a<0){ if(b%4==0) document.write("誕生日から",aa,"日経過しました。"); else if(b%4==1) document.write("誕生日から",365+aa,"日経過しました。"); else if(b%4==2) document.write("あと",365+365-aa,"日で誕生日です。"); else if(b%4==3) document.write("あと",365-aa,"日で誕生日です。"); }else if(a>0){ if(b%4==0) document.write("あと",aa,"日で誕生日です。"); else if(b%4==1) document.write("誕生日から",365-aa,"日経過しました。"); else if(b%4==2) document.write("誕生日から",365+365-aa,"日経過しました。"); else if(b%4==3) document.write("あと",365+aa,"日で誕生日です。"); }else if(a==0) document.write("誕生日おめでとう!!"); } --> </script> <form name="myForm"> <input type="text" name="formm" size=2>月 <input type="text" name="formd" size=2>日 <input type="button" value="誕生日勘定する" onClick="birth()"> </form>

  • javascriptの九九の表の書き換えについて

    var a; for (a=1; a<10; a++) if (a<=1){ document.write("   "+a); }else{ document.write(" "+a);} document.write("<br>"); document.write("---------------------------------"); document.write("<br>"); var i, j; for (i=1; i<10; i++) { document.write(i+"|"+" "); for (j=1; j<10; j++) { var k = i*j; if ( k > 81 ) { break; } if (k>=10){ document.write(" "+k+" "); }else { document.write(" "+k);} } document.write("<br />"); } forを使った九九の表はできたのですが これをwhileを使ったコードに書き換えるにはどうしたらいいでしょうか?

  • JavascriptからJavaへの変え方

    Javascriptで作ったものをJavaにしないといけなくなったのですが 私はJava初心者でまったくわかりません。 色々ネットで調べてみたのですが、どうも難しくて理解することができませんでした。 下にJavascriptで作ったものを載せてるのですがどなたかやり方を教えてもらえないでしょうか? <html> <head> <title>サンプル</title> <script type="text/javascript"> function jikoku() { dd = new Date(); document.F1.T1.value = dd.toLocaleString(); window.setTimeout("jikoku()", 1000); } </script> <script type="text/javascript"> mes = new Array(5); mes[0]="0"; mes[1]="1"; mes[2]="2"; mes[3]="3"; mes[4]="4"; date=(new Date()).getHours(); if( 0 <= date && date <= 5 ){ document.write(mes[0]); } else if( 6 <= date && date <= 10 ){ document.write(mes[1]); } else if( 11 <= date && date <= 16 ){ document.write(mes[2]); } else if( 17 <= date && date <= 19 ){ document.write(mes[3]); } else{ document.write(mes[4]); } </script> <script type="text/javascript"> function Random() { var kazu = Math.random(); kazu = kazu*100; kazu = Math.ceil(kazu); if( kazu<=9 ) document.write('<br/>○1<br/>'); else if( kazu<=19 ) document.write('<br/>○2<br/>'); else if( kazu<=29 ) document.write('<br/>○3<br/>'); else if( kazu<=39 ) document.write('<br/>○4<br/>'); else if( kazu<=49 ) document.write('<br/>○5<br/>'); else if( kazu<=59 ) document.write('<br/>○6<br/>'); else if( kazu<=69 ) document.write('<br/>○7<br/>'); else if( kazu<=79 ) document.write('<br/>○8<br/>'); else if( kazu<=89 ) document.write('<br/>○9<br/>'); else document.write('<br/>○10<br/>'); } Random() </script> <script language="JavaScript"> var imglist = new Array( "sample1.jpg", "sample2.jpg", "sample3.jpg", "sample4.jpg" ); var selectnum = Math.floor((Math.random() * 100)) % imglist.length; var output = "<img src=" + imglist[selectnum] + ">"; document.write(output); </script> </head> </html>

  • 曜日に関係なく、交互に表示させる。

    すみません。 思いっきり初心者です。 以前、同僚に協力してもらい、 2つの表示を1日毎に表示を変えるのを教えて貰ったんですが、 (下記内容) <!-- var now = new Date(); var xday = new Date(2004, 9-1, 15); count = Math.ceil( (xday.getTime() - now.getTime()) / (24*60*60*1000) ) var n = count % 2; if(n == 0){ document.write("<FONT style='font-size : 16px; color : #00cc00'>あ</font><BR>"); } else { document.write("い<BR>"); } //--> こんな感じでした。 これを2つ交互から <1日目:あ、2日目:い、3日目:う、4日目:あ、5日目:い、…> と表示させたいんですが、同僚は辞めてしまいどうしたらいいか解りません。 教えてください。 宜しくお願いします。

  • JavaScriptを最後に実行するには?

    JavaScriptでリンクをランダムに表示するようにしたところ、 少し表示が遅く感じるようになったため、 最後にJavaScriptを実行するようにonloadイベントを使って [外部(JavaScript)ファイル] <!-- window.onload = function onload(){ var random = Math.floor(Math.random() * 3); if(random == 0) document.write('<a href="URL1">サイト名1</a>'); else if(random == 1) document.write('<a href="URL2">サイト名2</a>'); else if(random == 2) document.write('<a href="URL3">サイト名3</a>'); }; //--> [HTMLファイル内] <script type="text/javascript" src="./フォルダ名/ファイル名.js"></script> のように書いて試しましたが、真っ白なページにこのスクリプトの内容だけが表示されてしまいます。 "window.onload = function onload{"と、最後の"};"の部分を追加するまでは普通に動いていました。 また、ページ内に、別の外部ファイルも含めて同じようなものを複数組み込みたいと思っています。 この方法でなんとか表示したいのですが、 別の方法も含め、情報をいただきたいです。 わかりにくいところがあれば補足します。 よろしくお願いします。

  • オープニングロゴを設置したいのですけども

    JavaScriptについては初心者で何も分りませんが、 あるHPで紹介していたので自分のHPにも設置できればと思いトップページindex.htmlのソースにコピーして貼り付けたのですが、上手く行かずに悩んでいます。 どなたか詳しい方アドバイスしてもらえませんか? それから修正しないといけない所や違う方法(タグ)があれば、それも、是非教えてください。 違う方法(タグ)がある場合はお手数ですが、コピー して貼れると助かります。 又、貼る位置なども教えてもらえますか 宜しくお願いします。 <html> <head> <title>タイトル</title> </head> <body> <script language="JavaScript"><!-- myColor = new Array( "000000","101010","202020","303030", "404040","505050","606060","707070", "808080","909090","a0a0a0","b0b0b0", "c0c0c0","d0d0d0","e0e0e0","ffffff" ); myCnt = 0; function myFade(){ document.bgColor=myColor[myCnt]; if (myCnt != 15){ myTime = (myCnt==0) ? 1000 : 50; myCnt++; setTimeout("myFade()",myTime); }else{ location.href = "fade.htm"; } } // --></script> <p><br><br><br><br><br><br><br></p> <p align="center"> <font color="#FFFFFF" size="5" face="Times New Roman"> <strong>*************</strong> </font><br><br> <font color="#FFFFFF" size="6" face="MS 明朝"> <strong>タイトル</strong> </font><br><br> <font color="#000000" size="6" face="MS 明朝"> <strong>Presented by Tatsuya</strong> </font><br> <script language="JavaScript"><!-- myFade(); // --></script></p> </body> </html>

  • それぞれの表記の色を変えるには?

    先日、日数カウンターの代わりに、表記を変えるには という質問をして、お答えを頂き、無事解決したのですが、また新たな壁にぶつかってしまいました・・・ <script type="text/javascript"> <!-- var tday=new Date(); var bday=new Date(2013,2-1,4); var days=Math.floor((tday.getTime()-bday.getTime())/(24*60*60*1000));if(days>=301){document.write("良く出来ました");} else if(days>=100){document.write("あともう少し");} else if(days>=51){document.write("この調子で");} else {document.write("頑張りましょう");} // --> </script> というプログラムで、 以下のように変更して、文字の色を変える事はできたのですが <font color="#0000ff"><script type="text/javascript"> <!-- var tday=new Date(); var bday=new Date(2013,2-1,4); var days=Math.floor((tday.getTime()-bday.getTime())/(24*60*60*1000));if(days>=301){document.write("良く出来ました");} else if(days>=100){document.write("あともう少し");} else if(days>=51){document.write("この調子で");} else {document.write("頑張りましょう");} // --> </script></font></td> 以下のように、その表記別に色を変える方法が分かりません 良く出来ました   赤 font color="#ff0000 あともう少し     青 font color="#0000ff この調子で     黄色 font color="#ffff00 どなたか、分かる方がいらっしゃいましたら、どうか宜しくお願い致します。

  • elseを使わないで複合条件をする方法

    以下のコードを改造して「elseを使わないで複合条件をする方法」を誰か教えてください!!できればコードかいてください。お願いします。 <Script language="JavaScript"> var tall,weight,BMI; tall = 176; weight = 56; BMI = weight / tall / tall * 10000; document.write("貴方のBMI指数は"+BMI+"です。<br>"); if(BMI < 20)document.write("貴方は痩せ型です。<br>"); else if(BMI < 24)document.write("貴方は普通です。<br>"); else if(BMI < 26.5)document.write("貴方は太り気味です。<br>"); else if(BMI >= 26.5)document.write("貴方は肥満と診断されました。<br>"); document.write("あなたの理想体重は"+22*tall*tall/10000+"です。<br>") </script>

  • innerHTMLに重なるselectボックス

    小さな画面を出しているのですが、開いた画面がselectボックスに重なると、selectボックスが前面になってしまいます。 これはどうにかならないでしょうか? 以下サンプルスクリプト <html> <head> <title>テスト</title> </head> <body> <script language="JavaScript"><!-- b_color="red"; //枠の色 g_color="#ffffff"; //背景の色 f_size="10"; //文字サイズ f_color="#000000"; //文字色 set_x=-20; //オフセットX set_y=-5; //オフセットY //-------------------------------------- document.write("<div ID='tiptext'STYLE='position:absolute;z-index:2;border:1px solid;padding:5px;"); document.write("border-color:"+b_color+";font-size:"+f_size+"pt;background-color:"+g_color+";"); document.write("color:"+f_color+";"); document.write("display:none'>"); document.write("</div>"); function openw(t1){ divid="tiptext"; if(document.all){ d_div=document.all(divid); rx = event.clientX + document.body.scrollLeft +set_x; ry = event.clientY + document.body.scrollTop +set_y; }else{ d_div=document.getElementById(divid); rx = NNX + set_x; ry = NNY + set_y; } if (t1) { d_div.style.display="block"; d_div.style.left = rx +"px"; d_div.style.top = ry +"px"; d_div.innerHTML = "<p>画面表示</p>"; d_div.innerHTML += "<span style=\"cursor:hand;color:#0000ff;text-decoration: underline;\" onclick=\"openw('')\">閉じる</span><br>"; d_div.innerHTML += '<br>'; d_div.innerHTML += 'a<br>'; d_div.innerHTML += 'i<br>'; d_div.innerHTML += 'u<br>'; d_div.innerHTML += 'e<br>'; d_div.innerHTML += 'o<br>'; d_div.innerHTML += '<br>'; //d_div.innerHTML = d_div.innerHTML +'<a href="#" onclick="openkeyboard(\'\')">閉じる</a><br>'; d_div.innerHTML += "<span style=\"cursor:hand;color:#0000ff;text-decoration: underline;\" onclick=\"openw('')\">閉じる</span><br>"; }else{ d_div.style.display="none"; d_div.innerHTML = ""; } } function MouseXY(NNevent){ NNX = NNevent.pageX; NNY = NNevent.pageY; } window.onmousemove = MouseXY; /* himajin.moo.jp */ // --> </script> <a href="#" onclick="openw('1')">子画面表示</a><br> あ<br> い<br> う<br> え<br> お<br> <a href="#" onclick="openw('1')">子画面表示</a><br> <form> <input type="text"><br> <input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox"><br> <select name="zz"> <option value="0">00000000000000</option> <option value="1">11111111111111</option> <option value="2">22222222222222</option> <option value="3">33333333333333</option> </select> </form> <a href="#" onclick="openw('1')">子画面表示</a><br> </body> </html>