ページの更新日を表示するには、JavaScript の lastModified を用います。表示される書式はブラウザやバージョンによって異なります。
<script type="text/javascript">
<!--
document.writeln("最終更新時刻:" + document.lastModified);
// -->
</script>
○月○日から△月△月までの間だけメッセージを表示したいという場合、次のようなスクリプトを用います。d1 には開始日時、d3 には終了日時を指定してください。月には 1月から順に Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec を指定します。
<script type="text/javascript">
<!--
var d1 = new Date("Nov 1, 2003 00:00:00");
var d2 = new Date();
var d3 = new Date("Dec 1, 2003 00:00:00");
if ((d1.getTime() < d2.getTime()) && (d2.getTime() < d3.getTime())) {
document.write("期間限定○○だよ。");
}
// -->
</script>
要素の innerHTML 属性に文字やタグを文字列として追加することにより、文字や画像などの要素を動的に追加することが可能になります。下記の例では OK ボタンを押すごとに「○」の文字が増えていきます。Internet Exolorer 4.0 以降で有効です。
<html>
<head>
<title>テスト</title>
<script type="text/javascript">
<!--
function func() {
if (a123) {
a123.innerHTML += "<b>○</b><br>";
}
}
// -->
</script>
</head>
<body>
<button onclick="func()">OK</button>
<div id="a123"></div>
</body>
</html>
マウスストーカー(小さなアイコンがマウスを追いかけるもの)をつけるには、基本的には下記のテクニックを利用します。マウスを動かす度に、画像の位置をマウスの位置に移動させています。
<script type="text/javascript">
<!--
document.onmousemove = onMouseMove;
function onMouseMove(e) {
img1.style.left = (event.clientX + 10) + "px";
img1.style.top = (event.clientY + 10) + "px";
}
// -->
</script>
<img id="img1" src="cursor.gif" style="position:absolute">
マウスに遅れて追いかけるようにするには下記のようにします。マウス移動時にマウスの位置を覚えておき、10ミリ秒毎に、アイコンの位置をマウスの方向に向けて 1ピクセルずつ移動させています。アルゴリズムを変えることにより、もっといろいろな動きをさせることが可能になります。
<html>
<head>
<title>マウスストーカー</title>
<script type="text/javascript">
<!--
var icoX = 0, icoY = 0; // アイコンの位置
var mouX = 0, mouY = 0; // マウスの位置
document.onmousemove = onMouseMove;
function onMouseMove(e) {
mouX = event.clientX;
mouY = event.clientY;
}
function onTimer() {
icoX += (icoX < mouX) ? 1 : -1;
icoY += (icoY < mouY) ? 1 : -1;
img1.style.left = icoX + "px";
img1.style.top = icoY + "px";
setTimeout("onTimer()", 10);
}
// -->
</script>
</head>
<body onload="onTimer()">
<img id="img1" src="cursor.gif" style="position:absolute">
</body>
</html>
Google などで「マウスストーカー」を検索すると、いろいろなサンプルスクリプトが配布されています。
表示する度にランダムなメッセージを表示するには次のようにします。
<script type="text/javascript"> <!-- var n = 0; var msg = new Array(); msg[n++] = 'こんにちわ。いらっしゃい。'; msg[n++] = 'やっほ〜〜〜〜。'; msg[n++] = '<font color="red">おいでやす!!</font>'; document.write(msg[Math.floor(Math.random() * n)]); // --> </script>
タイプライターのように、時間差をつけて文字を1文字ずつ表示させます。Internet Explorer のみ対応しています。
<html>
<head>
<title>タイプライター</title>
<script type="text/javascript">
<!--
var str = "とほほのWWW入門";
var n = 0;
function func() {
if (document.all) {
if (s = str.charAt(n++)) {
document.getElementById("tw").innerText += s;
window.setTimeout("func()", 300);
}
}
}
// -->
</script>
</head>
<body onload="func()">
<div id="tw"></div>
</body>
</html>