- ベストアンサー
デジタル時計の作成で時間が動かずに困っています
- テキストどおりにデジタル時計を作成しましたが、時間が動かずに困っています。
- ソースコードを確認しましたが、問題が見当たりません。
- どのようにしたらデジタル時計が正しく動作するようになるのでしょうか。アドバイスをお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
いろいろおかしい点がありますね。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <meta http-equiv="Content-type" content="text/html; charset=UTF-8"> <title>タイマー</title> <style type="text/css"> input { width: 90px; font-size: 70px; font-family:monospace; } p{font-size: 60px;} </style><!-- タグの開始・終了が合っていない --> <script type="text/javascript"> var hourBox, minBox, secBox; var timer; //window.onload = init(); ()を付けるとその時点で実行されてしまう window.onload = init; //funciton init() { スペルミス function init() { hourBox = document.clockForm.hour; minBox = document.clockForm.minute; secBox = document.clockForm.sec; dClock(); } function dClock() { var now = new Date(); var hour = now.getHours(); var min = now.getMinutes(); var sec = now.getSeconds(); if (hour<10) hour = "0" + hour; //if (min<10) = "0" + min; 構文エラー if (min<10) min = "0" + min; //if (sec<10) = "0" + sec; 構文エラー if (sec<10) sec = "0" + sec; //hourBox = hour; valueに設定しないとテキストボックスに表示されない hourBox.value = hour; //minBox = min; valueに設定しないとテキストボックスに表示されない minBox.value = min; //secBox = sec; valueに設定しないとテキストボックスに表示されない secBox.value = sec; timer = setTimeout("dClock()", 1000); } <!--</style> タグの開始・終了が合っていない --> </script> </head> <body bgcolor="#FFFFFF"> <form name="clockForm"><p> <input type="text" name="hour">時 <input type="text" name="minute">分 <input type="text" name="sec">秒 </p></form> </body> </html> なぜテキストボックスになっているのかは分かりませんが、値を入れる必要はありません。 というか入れても上書きされます。
お礼
この度は何とお恥ずかしいソースコードを載せてしまったのか後悔してしまいます。 ただ、回答者様にチェックして頂かなければ永遠に誤解のままで終わってしまっていたはずであり、回答者様に何と感謝をすればいいのか分かりません。 テキストでは、回答者様のご指摘どおりのままのソースコードが書かれてありました。 単なる私の思い込みでこんな羞恥心を晒してしまい、再度ソースコードの見直しを教訓として2度と同じようなミスの無いように心がける次第であります。 本当にありがとうございました。