0

ですから、私の質問は非常に単純ですが、htmlとjavascriptを初めて使用するので、助けが必要です。

だから私は私のhtmlコードにある次のjavascriptコードを持っています。その機能を別のシートに入れたいです。HTMLシートで関数を呼び出すにはどうすればよいですか?

<script LANGUAGE="Javascript">
    var stampdays = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
    var stampmonths = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
    var thedate = new Date();
    document.write(stampdays[thedate.getDay()] + ", " + stampmonths[thedate.getMonth()] + " " + thedate.getDate() + ", " + thedate.getFullYear());
</script>
4

2 に答える 2

3

というファイルを作るscript.js

script.js:

var stampdays = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
var stampmonths = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var thedate = new Date();
document.write(stampdays[thedate.getDay()] + ", " + stampmonths[thedate.getMonth()] + " " + thedate.getDate() + ", " + thedate.getFullYear());

HTML に、次のタグを含めます。

<script src="/path/to/script.js" type="text/javascript"></script>

このタグは、HTML のどこにでも含めることができます。</body>できれば終了タグの直前に。

ちなみに、使用する必要はありませんnew Array()。上記のコードで示したように、配列リテラルを使用するだけです。

別の補足として、おそらく使用したくないでしょうdocument.write。1997年のスタイルのようです。次のように、HTML 要素の 1 つを入力したいと思うでしょう。

document.getElementById('myElementId').innerHTML = stampdays[...etc...getFullYear();

それを関数にしたい場合は、次のように宣言するだけです。

function setDate(foo) {
    document.getElementById('myElementId').innerHTML = foo;
}

次に、次のように呼び出しますsetDate(stampdays[...etc...getFullYear());

于 2012-10-16T04:33:10.727 に答える
0

スクリプト タグ内のすべてのもの (タグ自体を除く) を新しいファイル (通常は拡張子 js) に移動し、そのファイルを html ページに含めることができます。このようにできました

<script type="text/javascript" src="path-to\script.js"> </script>

type属性よりも属性languageを使用する方が良い

あなたのスクリプトを見ると、関数の外側で document.write を使用していることがわかります。ブラウザーは通常、script タグ内のコードを検出するとすぐに実行します。関数内に何かを入れると、スクリプトの実行時間をより適切に制御できます

script.js

var stampdays = new Array( "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
var stampmonths = new Array( "January","February","March","April","May","June","July","August","September","October","November","December");

var writeDate = function () {
            var thedate = new Date();
            document.write(stampdays[ thedate.getDay()] + ", " + stampmonths[ thedate.getMonth()] + " " + thedate.getDate() + ", " + thedate.getFullYear()); 
            }

必要に応じて writeDate 関数を呼び出すことができるようになりました。

<html> 
<head>
<script type="text/javascript" src="path-to\script.js"> </script>
</head>

<body>
  <script type="text/javascript" >
    writeDate();
  </script>

  <a href="#" onclick="writeDate()">Click me </a>

</body>
</html>

script.js ファイルでは、関数 writeDate を定義するだけで、まだ実行しません。関数内のコードを実際に実行するには、関数を writeDate() のように呼び出すだけです。ここでは 2 つの方法を示しました。

  • ブラウザがhtmlを読み込んでいるときに実行される別のスクリプトタグ内(ボディ内)で関数を呼び出します。
  • より典型的な例は、何らかのイベントでそれを実行することです。例のように、リンクをクリックしたときに実行されるものを定義しました
于 2012-10-16T04:52:56.887 に答える