• ベストアンサー

ソースコードが読めません

html> <head> <title>スクールバス時刻表</title> <script language="JavaScript"> <!-- baseURL = "image1/"; ext = ".gif"; (new image1()).src = baseURL + "6.gif"; (new image1()).src = baseURL + "7.gif"; (new image1()).src = baseURL + "8.gif"; (new image1()).src = baseURL + "9.gif"; function realTime(){ dt = new Date(); h = "0" + dt.getHours(); h = h.substring(h.length-2,h.length); m = "0" + dt.getMinutes(); m = m.substring(m.length-2,m.length); s = "0" + dt.getSeconds(); s = s.substring(s.length-2,s.length); times = [h.charAt(0),h.charAt(1),m.charAt(0),m.charAt(1),s.charAt(0),s.charAt(1)]; for (i=0; i<6; i++) document.images["RT"+i].src = baseURL + times[i] + ext; } //--> </script> </head> <body onload="setInterval('realTime()',1000)"> <table border="2" bordercolor="powderblue" cellspacing="1" width="450"> <tr bgcolor="black"><th><font color="powderblue" size="4">現在の時刻 </font> <td rowspan="2" bgcolor="white"> <font size=2> スクールバスの時刻表・運行表です。お近くのバス停をご利用ください。</font> </td> </tr> <tr> <td nowrap bgcolor="black"> <img src="image1/0.gif" name="RT0"> <img src="image1/1.gif" name="RT1"> <img src="image1/kugiri.gif"> <img src="image1/2.gif" name="RT2"> <img src="image1/3.gif" name="RT3"> <img src="image1/kugiri.gif"> <img src="image1/4.gif" name="RT4"> <img src="image1/5.gif" name="RT5"> </td> </tr> </table> <p> <table border="0" bgcolor="powderblue" cellpadding="5" width="450"> <tr> <td style="font-size:15px;line-height:130%" align="center" bgcolor="#FFFFF0"> ▼東本町方面   ▼学校町方面   ▼ニュータウン方面 </td></tr></table> </body> </html> 本当はいけないのでしょうけど、一応ソースコードを全部貼り付けてみました。 この方がプログラムの全体像が見やすいと思いまして。 それでは、質問です。 (new image1()).src = baseURL + "6.gif"; (new image1()).src = baseURL + "7.gif"; (new image1()).src = baseURL + "8.gif"; (new image1()).src = baseURL + "9.gif"; 冒頭のこの部分ですが、画像を一時ファイルとして読み込む設定と本には書かれているのですが、今一何を言っているのか分かりません。 新しいImage()メソッドを作ってそこに格納しているんですよね。でも、何故グラフィックが指定されているのでしょうか。 times = [h.charAt(0),h.charAt(1),m.charAt(0),m.charAt(1),s.charAt(0),s.charAt(1)]; for (i=0; i<6; i++) document.images["RT"+i].src = baseURL + times[i] + ext; <img src="image1/0.gif" name="RT0"> <img src="image1/1.gif" name="RT1"> <img src="image1/kugiri.gif"> <img src="image1/2.gif" name="RT2"> <img src="image1/3.gif" name="RT3"> <img src="image1/kugiri.gif"> <img src="image1/4.gif" name="RT4"> <img src="image1/5.gif" name="RT5"> これは初期値の指定でいいのでしょうか。でも、わざわざこれをする必要性があるのですかね。 いきなり、バンッと時刻を表示できないものなのでしょうか。 お訊きしたいのは以上の3点です。 どうか宜しくお願い致します。

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

質問1 時刻表示を秒単位で(画像文字を用いて)行っているので、画像を先に呼んでおかないとうまく表示できないことがある。 (デジタルの秒表示が、でなくなる可能性を回避) 質問2 初期設定ではありません。 function realTime(){ の中にあるのは、その時の時刻を表示するファンクションです。 文字を画像の文字に変換して表示していると思われます。 質問3 時計のようにリアルタイムで時刻を表示しているので、一度表示すれば終わりというわけにはいきません。 もちろん、最初に表示してお仕舞いという風にもできますが、作者がこの方法を選んだのでしょう。 (余所見や立ち話をしていても、常に、正しい時刻が表示されている。) 表示を画像文字にしなければ、スクリプトはもっと簡単になります。

persona
質問者

お礼

的確な解答を頂きまして、ありがとうございます。 なるほど。解説してもらえると凄く良く分かります。 でも、本当はこれくらい分からないといけないんでしょうけどね。 反省しなければいけませんね。 どういうやり方をすれば、ソースコードの内容を読み取れるようになれるのでしょう。 勿論、ソースコードが行っている内容を理解しなければいけませんね。 そのためには数をこなすのがいいんでしょうか。 失礼ながら、fujillinさんは業界人ではなくてこのソースコードを理解したわけですよね。 大変凄い事だと思うのですが、どうすればfujillinさんのようになれるのでしょうかね。 個人的な見解ではやはり数を多くこなすしか挙げられないんですけど。 他にもありますかね。 まぁ、頑張り次第という事にしておきますか。

その他の回答 (2)

noname#84373
noname#84373
回答No.3

尊敬する人にいつも指摘されているので、 チェックするようにしようと心がけたいと・・・・。 ということで、まずHTMLのチェックを! http://openlab.ring.gr.jp/k16/htmllint/htmllint.html とか http://validator.w3.org/ などなど。

persona
質問者

お礼

どうもです。 ソースコード全部貼り付けてみたんですけど、チェックできませんでした。 多分初版が2002年ですからいろいろ変わっているかもしれませんね。 いや、変わっているでしょうね。 ちょっと一念発起したもので、テキストは自分がプログラマーを目指していた時代のものになってしまいました。 またお世話になるかもしれませんが、1つ宜しくお付き合いの程を。

noname#84373
noname#84373
回答No.2

ちと割り込み! そのコードは古いというか間違いがあるとか・・・・ fujillinさんならそれを直して、さらに極小プログラムにしてくれるかも?!^^;

persona
質問者

お礼

レスを頂き、ありがとうございます。 今日はお逢いするのはこれで4度目ですね。 前回は助けてもらいまして、感謝しています。 この本の初版は2002年ですね。 ソースコードが古いですか。間違いがあるとはどういう事でしょうか。 _pipi_さんは、fujillinさんとお知り合いなのですか。 何か訊いてばかりですね。申し訳ありません。 確かに、このプログラムのソースコードは長いと思いますけど。 短くなるものなのでしょうか。 まぁ、答えはfujillinさん次第ですかね。 無理なお頼みはしないので、悪しからず。

関連するQ&A