[[HTML5とかJSとか]]

最も基本形を書いてみるね。

ただしWebの中に直書きじゃなくて、わざと別ファイルでね。

* sample.html [#ud8a7162]

 <!DOCTYPE HTML>
 <html dir="ltr" lang="ja" prefix="og: http://ogp.me/ns#"><!-- InstanceBegin  template="/Templates/web_utf8.dwt" codeOutsideHTMLIsLocked="false" -->
 <head lang="ja">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <meta http-equiv="Content-Script-Type" content="text/javascript">
  <title>デジタル時計</title>
  <script type="text/javascript" language="javascript" src="./sample.js"></script>
  <script type="text/javascript" language="javascript"><!--
    window.onload = function() {
      // ここにonloadしたい関数を入れる。
      init();
    };
  --></script>
 </head>
 <body>
  <h1>デジタル時計</h1>
  <div id="clock-01"></div>
 </body>
 </html>

* sample.js [#ydea1245]

 var savesec = -1;
 // clock関数を1秒周期で繰り返す
 function init(){
  clock();
  setInterval('clock();',50);
 }

 function clock(){
  var now = new Date();
  var sec = now.getSeconds();
  if (savesec != sec){
    savesec = sec;
    var min = now.getMinutes();
    var hr= now.getHours();
    var clock1 = "" + ("0" + hr).substr(-2) + "時" + ("0" + min).substr(-2) + "分" + ("0" + sec).substr(-2) + "秒";
    document.getElementById( 'clock-01' ).innerHTML = clock1.toLocaleString(); //  div id="clock-01"
  }
 }

細かい構文とかはそのへんのものを見るとして、ここでのキモは三点あるの。以下に注目してね。

- sample.jsをどこで読み込んでいるか。
- どこから実行開始しているか。
- どこに表示しているか。

まず sample.js の読み込みは、HTMLの header に定義しているからわかると思う。

で、実行開始は、これ。

   window.onload = function() {
      // ここにonloadしたい関数を入れる。
      init();
    };


ウインドウ読み込み時(window.onload)にこの function は実行されるわけだけど、init() はロードした sample.js に書かれてあるわね。あれが実行されるってわけ。

で、最後に表示。

sample.jsを見ると、getElementByID("clock-01")したところのinnerHTMLに書き込んでいるのがわかると思う。だったら、この clock-01 が表示位置になるわけだけど。

  <h1>デジタル時計</h1>
  <div id="clock-01"></div>

はい、ここね。このdivブロックの中に書き込まれるわけ。

ちなみに、 ''ここで document.write とかやって普通にダダ書きしちゃうと、ひたすら表示したページの末尾に追記されていく'' から要注意。わかった?

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS