とほほのJavaScript入門(サンプル)
とほほのWWW入門 >
とほほのJavaScript入門 >
サンプル
2000年4月26日版
JavaScriptの使用例をいくつかあげてみました。
(e3/N2)は、Netscape Navigator 2.0以降、Internet Explorer 3.0以降で使用可能であることを意味します。
new Date()で現在の時刻を得ることができます。(e3/N2)
<HTML>
<HEAD><TITLE>テスト</TITLE></HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
dd = new Date();
document.write("ただ今の時刻は");
document.write(dd.getHours() + "時");
document.write(dd.getMinutes() + "分です。");
// -->
</SCRIPT>
</BODY>
</HTML>
今日の日付を YYYY/MM/DD 形式で表示します。(e3/N2)
<HTML>
<HEAD><TITLE>テスト</TITLE></HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
xx = new Date();
yy = xx.getYear();
mm = xx.getMonth() + 1;
dd = xx.getDate();
if (yy < 2000) { yy += 1900; }
if (mm < 10) { mm = "0" + mm; }
if (dd < 10) { dd = "0" + dd; }
document.write(yy + "/" + mm + "/" + dd);
// -->
</SCRIPT>
</BODY>
</HTML>
0〜9までの乱数により、ランダムな画像を表示します。この文書と同じディレクトリに 0.gif 〜 9.gif の画像を用意しておいてください。(e4/N3)
<HTML>
<HEAD><TITLE>テスト</TITLE></HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
xx = Math.floor(Math.random() * 10);
document.write('<IMG SRC="' + xx + '.gif">');
// -->
</SCRIPT>
</BODY>
</HTML>
appNameとappVersionからブラウザのバージョンを識別します。IE3.0はappVersionで2や3を返すものがあるので注意が必要です。(e3/N2)
<HTML>
<HEAD><TITLE>テスト</TITLE></HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
app = navigator.appName.charAt(0);
ver = navigator.appVersion.charAt(0);
if (app == "N") {
if (ver == 2) {
document.write("Netscape Navigator 2.0<BR>");
} else if (ver == 3) {
document.write("Netscape Navigator 3.0<BR>");
} else if (ver == 4) {
document.write("Netscape Navigator 4.0<BR>");
}
} else if (app == "M") {
if (ver == 2) {
document.write("Internet Explorer 3.0<BR>");
} else if (ver == 3) {
document.write("Internet Explorer 3.0<BR>");
} else if (ver == 4) {
document.write("Internet Explorer 4.0<BR>");
}
}
// -->
</SCRIPT>
</BODY>
</HTML>
リンクをクリックすると、別ウィンドウを開いてそこに xx.html を表示します。open()の引数を設定することで、別ウィンドウの大きさやツールバーの有無を制御することもできます。(e3/N2)
<HTML>
<HEAD><TITLE>テスト</TITLE></HEAD>
<BODY>
<A HREF="#" onClick="window.open('xx.html', 'XX')">
リンクテキスト
</A>
</BODY>
</HTML>
ページ上に「別ウィンドウに表示する」チェックボックスを表示します。これにチェックするとリンクをクリックした時に別ウィンドウに表示されるようになります。(e3/N3)
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function func() {
window.name = document.form1.cb1.checked ? "" : "out";
}
// -->
</SCRIPT>
</HEAD>
<BODY onLoad="func()">
<FORM NAME=form1>
<INPUT TYPE=checkbox NAME=cb1 onClick="func()">
別ウィンドウに表示する
</FORM>
<A HREF="xxx.html" TARGET=out>XXX</A>
</BODY>
</HTML>
フォームに入力した文字列が8文字以内かどうか調べます。(e3/N2)
<HTML>
<HEAD>
<TITLE>テスト</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function check() {
len = document.form1.passwd.value.length;
if ((len < 1) || (8 < len)) {
alert("Passwordは1〜8文字でなくてはなりません。");
return false;
} else {
return true;
}
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME=form1 onSubmit="return check()" ACTION="...">
Password: <INPUT TYPE=password NAME=passwd>
<INPUT TYPE=submit VALUE="OK">
</FORM>
</BODY>
</HTML>
setTimer()関数を用いて、現在の時刻を1秒刻みに表示します。(e3/N2)
<HTML>
<HEAD>
<TITLE>テスト</TITLE>
<SCRIPT>
<!--
function func() {
dd = new Date();
year = dd.getYear(); if (year < 2000) year += 1900;
mon = dd.getMonth() + 1; if (mon < 10) mon = "0" + mon;
date = dd.getDate(); if (date < 10) date = "0" + date;
hour = dd.getHours(); if (hour < 10) hour = "0" + hour;
min = dd.getMinutes(); if (min < 10) min = "0" + min;
sec = dd.getSeconds(); if (sec < 10) sec = "0" + sec;
document.form1.text1.value =
year + "/" + mon + "/" + date + " " +
hour + ":" + min + ":" + sec;
setTimeout("func()", 1000);
}
// -->
</SCRIPT>
</HEAD>
<BODY onLoad="func()">
<FORM NAME=form1>
<INPUT TYPE=text NAME=text1>
</FORM>
</BODY>
</HTML>
3分割されたフレーム(A,B,C)で、Aのページにあるリンクをクリックした時に、B,Cのページを書き換えます。(e3/N2)
======<frame.html>======
<HTML>
<HEAD><TITLE>Frame Test</TITLE></HEAD>
<FRAMESET COLS="30%,*">
<FRAME SRC="A.html" NAME="A">
<FRAMESET ROWS="30%,*">
<FRAME SRC="B.html" NAME="B">
<FRAME SRC="C.html" NAME="C">
</FRAMESET>
</FRAMESET>
</HTML>
======<A.html>======
<HTML>
<HEAD>
<SCRIPT><!--
function jump(url1, url2) {
window.parent.B.location.href = url1;
window.parent.C.location.href = url2;
return false;
}
// --></SCRIPT>
<BODY>
<A HREF="#" onClick="return jump('D.htm', 'E.htm')">XXX</A>
</BODY>
</HTML>
Copyright (C) 1996-1999 とほほ
http://wakusei.cplaza.ne.jp/twn/wwwjssm2.htm