2

私は(ある程度)JavaScriptを初めて使用し、必要なタイミングプラグインを作成しています。

<body onload="mktClock_standard(); setInterval('mktClock_standard()', 1000 ); mktClock_military(); setInterval('mktClock_standard()', 1000 )">

そして、それを行う方法があるかどうか疑問に思っていましたが、JavaScriptでは、使用するwindow.onloadなどの方法があります。私は簡単に試しました:

window.onload = mktClock_standard(); setInterval('mktClock_standard()', 1000 ); mktClock_military(); setInterval('mktClock_standard()', 1000 )

しかし、明らかに間違った構文エラーなどがたくさんあるので...私はGoogleに行きましたが、私の問題に関連するものは何も見つかりませんでした。何か案は?

4

3 に答える 3

8

window.onload属性とまったく同じですがonload、関数が必要です。

window.onload = function() {
    mktClock_standard(); 
    setInterval('mktClock_standard()', 1000 ); 
    mktClock_military(); 
    setInterval('mktClock_standard()', 1000 )
}

実際、 のような属性にコードを追加する<body onload="code...">と、ブラウザはそれらをラップする無名関数があるかのように扱います。

また、最新のブラウザーはDOMContentLoadedイベントをサポートしています。これは似ていますが、より早く起動します。DOM が読み込まれるとすぐに起動し、window.onload他のリソース (画像など) が読み込まれるのを待ちます。にバインドするには、次DOMContentLoadedを使用しますaddEventListener

document.addEventListener('DOMContentLoaded', function(evt) {
    // event handler code here
});

(上記は IE8 以前では動作しません)

于 2012-10-08T20:21:58.220 に答える
2

イベントを添付する方法はいくつかあります。すべてのステートメントを囲む関数が必要です。

window.onloadイベント ハンドラーの使用:

window.onload = function() {
  mktClock_standard(); 
  setInterval('mktClock_standard()', 1000 ); 
  mktClock_military(); 
  setInterval('mktClock_standard()', 1000 );
};

または使用してaddEventListener()

window.addEventListener( 'DOMContentLoaded', function() {
  mktClock_standard(); 
  setInterval('mktClock_standard()', 1000 ); 
  mktClock_military(); 
  setInterval('mktClock_standard()', 1000 );
} );
于 2012-10-08T20:22:20.637 に答える
2

関数宣言を使用したい場合:

window.onload = function() {
    mktClock_standard();
    setInterval('mktClock_standard()', 1000 ); 
    mktClock_military(); 
    setInterval('mktClock_standard()', 1000 )
}
于 2012-10-08T20:22:15.577 に答える