• ベストアンサー

時計を複数表示する場合について

先日、同タイトルに回答して頂いた方、ありがとうございました。 質問の内容は不明確で申し訳ありませんでした。 そこで、再度、具体的に質問させて頂きました。 (教えて!gooでの質問は初めてで、質問者単独では書込み追加ができないんですね) 以下のコードで、複数の時計(都市)を表示する場合、 現在は都市の数だけ「function setTime()」を記述しているんですが 1つにまとめる方法があれば、ご教授願います。 ************************ http://www.geocities.jp/yop_ikunana/test22.html ************************

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

  • ベストアンサー
  • nobuoka
  • ベストアンサー率69% (23/33)
回答No.2

> fujillin さん まあ現在完成しているソースコードを見た感じだと、前回のサンプルを見て理解するのに結構時間がかかりそうですし・・・完成したサンプルを提示した方がいいんじゃないかと思います。 あんまり良くない JavaScript コードを世の中に広げないためにも。 > yop_ikunan さん というわけでサンプル (参考 URL) を作ってみました。 yop_ikunan さんのサンプルを見て色々と気になった点を挙げておくと・・・ ・時計の部分に table 要素を使っていますが、原則として table 要素を 「表組み」 以外の目的に使用すべきではない ・ローカルの時刻を取得していますが、よその都市との時差を考えるなら世界標準時を取得すべき ・document.write 関数を使って要素を書き出すのではなく W3C DOM API を使って要素を生成すべき ・取得した時刻 (hour) に時差を足していますが、それだと hour が 24 を超えてしまう可能性がある ・一定間隔で繰り返し関数を呼び出すなら setTimeout 関数よりは setInterval 関数を使うべき。 その際 1000ms 間隔で呼ぶよりはもうちょっと短い間隔で呼んだ方が正確な時刻を表示できる。 (そう気にするレベルでもないですが。) という感じですかねー。 JavaScript って奥が深い上にネット上だとアホみたいな JavaScript のサンプルがごろごろしてて勉強しにくいですけど頑張ってください。 1 冊はまともな本を購入したら勉強しやすいですよ。 サイ本とか。

参考URL:
http://www.vividcode.info/sample/090724a.htm
yop_ikunan
質問者

お礼

nobuoka様 今回も回答ありがとうございます。 推測されている通り、初心者なのでサンプルもネットから、それっぽいのを見つけて使ってましたので、前回のfujillin様の回答にも理解に苦しんでいた所でした。 サンプルと助言、非常にありがとうございます。 サイ本(オライリーのですよね)等の参考書で勉強したいと思います。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

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

こんにちは。 前回の回答の内容が理解できていないようですね。 http://oshiete1.goo.ne.jp/qa5148693.html #2の  for( var i = 0; i < targets.length; i++ ) { #3の  for (i=0; i<cl.length; i++) { は両方とも、時計の数だけループをまわすことで処理しているので、ループ内のコードは1回分の記述ですんでいるということになります。 ついでに言うなら、時刻表示の処理だけでなく表示要素を生成する際にも、同様にすることで、1回分の記述ですませることができます。

yop_ikunan
質問者

お礼

fujillin様 またの回答ありがとうございます。 お察しの通り、初心者なので、理解に苦しんでました。 参考にさせて頂き、勉強したいと思います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 時計を複数表示する場合

    JavascriptのsetTimeoutを使用して、時計を表示させる事はできます。 世界時計など複数の時計を表示する場合、 あらかじめ決まった数を決まった場所(テキストボックス等)に表示するなら、1つのfunctionをsetTimeoutで制御すればいいですが、 複数(画面にて選択)の都市の時計をレイヤーで都市の下に表示させたいのですが、制御するfunctionを1つで行うことはできるのでしょうか? 宜しくお願いします。

  • .htaccessでの拡張子の非表示について

    全くの同一ページであるにもかかわらず、google上に2つのURLがインデックスされてしまっています。 ・http://test.jp/test(phpファイル) ・http://test.jp/test.php ・http://wahaha.jp/wahaha(phpファイル) ・http://wahaha.jp/wahaha.php 出来れば、拡張子のつかない方に統一したいのですが、どのような方法が適切でしょうか? 同一ページへのリダイレクトなので、になるのですが、、、。 具体的な記述を教えていただければと思います。

  • 社外品の電波時計の表示が薄い

    こんばんは。 車内に時計が無いので、カシムラのAK-81と言う品番の電波時計を 取り付けてみました。 電源はシガーソケットから取るタイプですが、コードが邪魔になるのでDIYで元々のコードを切断し、一方をボディーアース、もう一方をオーディオのACCから取りました。 テスト段階でキーをACCまで回すとしっかりと点灯しましたが、最終的に配線してみたところ、液晶表示が薄くなっていました。(ボタン電池だけの表示はさらに薄い) そこで質問なんですが、配線の途中でハンダ付けがあったりするのですが、電力が十分に届いてない場合この様な症状が起きる事はありますか?同じような経験をされた方はいらっしゃいますか?

  • エクセルVBAにて同行内複数URLの抽出

    別枠で同系統の質問となってしまい申し訳ありません。 http://oshiete1.goo.ne.jp/qa5661746.html 上記でご教授頂いたサンプルを実行しましたところ 順調に動いていたのですが、 以下のように同じ行に複数の取得対象が存在するパターンになると 正常に取得できなくて困っています。 index.html内 <a href="http://www.test.co.jp">テスト1</a><img src="image.gif" alt="イメージ"></a><a href="http://www.test2.co.jp>テスト2</a>|<a href="http://www.test3.co.jp">テスト3</a> このように、同じ行に複数の記述がされている際 最後の物のみ取得してしまい(http://www.test3.co.jpが取得される) 前の物全て取得できない状態です。 全てを取得するようにするにはどのようにすればいいか、 すみませんがよろしくお願いします。 なお、ファイルを読み込んでファイル内容を別シートに出力し、 そこから抽出している形を取っています。

  • javascriptで複数の表示・非表示切り替え

    どなたかご教授願います。 javascript(jQuery)を利用した表示・非表示を切り替えるやり方はいろいろあると思うのですが、私が思うようなものが実現できません。 個人的ポイントは、 初期状態では表示された状態 ボタンを押すごとに表示・非表示を切り替えられる 1ページ内に複数ボタンを設置 1つのボタンで複数個所のエリアの表示・非表示を適用する ボタンから離れた場所のエリアを表示・非表示にする 状態をクッキーに保存する コードの可能な限りの簡略化 (※構築イメージは添付ファイルを参照ください。) です。よろしくお願い致します。 参考にした質問・知恵袋・サイト様 (1) http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12114911402 (2) http://blog.caraldo.net/2009/03/jqcookiemenu.php (3) http://okwave.jp/qa/q7259699.html →(1)複数ボタンを設置する場合は、それだけコードを増やさなければならない。また、1つのボタンで適用されるのは1ヵ所のみ。 →(2)複数ボタンの設置のコードは(1)に比べ少なくて済むが、こちらも1つのボタンで適用されるのは1ヵ所のみ。 →(3)1つのボタンで複数個所を非表示にすることが出来るが、再び表示する場合にはクッキーを初期化しなければならない。また、コードが隣接していなければならない。 (※一部コードを書き換えれば実現可能かもしれませんが私の理解レベルではこれが限界です。申し訳ありません。)

  • WordPressで複数のIDを表示

    WordPress3.4を使用しています。 カテゴリーに独自のテーマを使いたい場合、 「category-ID.php」というファイルを作成し、 テンプレートを追加すれば良いと思うのですが、 テーマ(デザイン)は共通だけどテキスト(ID)は複数ある場合、 どのように作れば良いのでしょうか? category-1.php category-2.php category-3.php ・・・ (各ファイルに記述されているコードは全て同じ) ↑のようにひたすらphpファイルを作成すれば形は出来るのですが、 その数が膨大なため、効率の良い方法を教えて頂きたく思います。

    • 締切済み
    • PHP
  • gooトップページの時計表示

    gooトップページの時計表示について質問です。 以前質問した内容があります。 http://okwave.jp/qa5226811.htmlです。 その後、詳細がわかりました。 XPのSP2環境でMicrosoftupdateのInternet Explorer 6 for Windows XP 用セキュリティ更新プログラム (KB972260)をインストールすると現象が出ると言う事がわかりました。SP3が入った環境では症状が出ないようです。 そこでXP SP2でIE6で使用中の方でKB972260をインストールしている方gooのホームページの時計が1970/1/1 9:00から始まる方はいますか? KB972260については重要なアップデートのようですがMicrosoftのサポートに聞いたら無理にインストールしなくても良いと言うような回答が来ましたが本当に大丈夫でしょうか?

  • タイマーをデジタル時計風にするには

    ※数日前にも「教えて!goo」の同じカテゴリーで質問した者です。 ※結局自分が書いたコードを使ってるんですが... <html> <head> <title>test</title> <script type="text/javascript"> <!-- function doCountDown() { setInterval('countDown()', 500); } function countDown() { var now = new Date(); var tomorrow = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1); var diff = Math.floor((tomorrow.getTime() - now.getTime()) / 1000) + 1; var hour = Math.floor(diff / 3600); diff %= 3600; var min = Math.floor(diff / 60); var sec = diff % 60; document.getElementById('cd').innerHTML= "今日の終わりまであと" + hour + "時間" + min + "分" + sec + "秒"; } //--> </script> </head> <body onload="javacript:doCountDown();"> <div id='cd'></div> </body> </htm> ※カウントダウンタイマーをデジタル時計風にするには、どうすればいいのでしょうか? (つい最近、「デジタル時計」をアメリカのサイトのサンプルを模倣しながら作ったことならあります。) デジタル数字のイメージ「0~9」と「:」はもう準備来ました。 ”0”をdg0.gif、”1”をdg1.gif~~~~~”9”をdg9.gifとし、”:”をdga.gifとします。 これらのイメージを入れつつ、上のコードに沿って動かしたいです。 ちなみに、自分が作ったデジタル時計は以下のやつです。

  • 横浜周辺の時計専門店-2

    http://oshiete1.goo.ne.jp/kotaeru.php3?q=918533 連日の同じ質問で大変失礼いたします。上記↑質問と同内容です。 横浜市あたりで時計を専門に扱う店があれば教えてほしいのですが、どなたかご存知ありませんか?

  • このマクロを実行し、表示させるにはどうしたらよいですか?

    恐れ入ります。初心者です。WinXP、Excel 2002を使用。VBAコードは読めません。 「本gooのカテゴリ」について、まだ把握してなく、別カテゴリで同質問してしまい、その回答者様に当「Office系ソフトのカテゴリ」へとご指示されました。 質問がダブってしまいましたが、よろしくお願い致します。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1432630 のページ の回答者No.2様のマクロを実行し、表示させるにはどうしたらよいですか? このままコピーしましたが、実行できませんでした。 私のやり方(解釈)が間違っていたのだと解りました。 別のコードを追加しないと、実行できないのでしたら、何かサンプル的コードで構いませんので、 このマクロを実行し表示させる方法が、おありでしたら教えてくださいませ。 1、コピー&ペーストから、詳しく教えて下さいませ。 2、Module1とModule2を個々のマクロで実行し、表示する方法も併せて教えて下さいませ。