- HOME
- JavaScript入門
- スタッフロール
今回は映画やドラマのラストで、 キャストやスタッフの一覧が下から上に流れるスタッフロールをJavaScriptで作ってみたいと思います。
スタッフロールのスクリプト
では最初に、640×480程度のサブウィンドウを画面中央に表示させましょう。 HTMLのBODY内に、以下のように記入なさってください。
<script>
function winOpen()
{
var w=(screen.width-640)/2;
var h=(screen.height-480)/2;
window.open("staffroll.html","sub","width=640,height=480,"+
"left="+w+",top="+h+",scrollbars=no,menubar=no,toolbar=no");
}
</script>
<form>
<input type="button" value="staffroll" onclick="winOpen()">
</form>
次にstaffroll.htmlを作ります。 bodyタグ以下に下の文字をコピー&ペーストしてみてください。 bodyタグ内にはonloadイベントを記入し、 画面をスクロールさせる関数scroll()を呼び出します。
<body onload="scroll()">
<br><br><br><br><br><br><br><br><br><br>
STAFF<br>
<br><br><br>
企画<br>パズルネット智慧<br><br><br>
構成<br>パズルネット智慧<br><br><br>
プログラム<br>パズルネット智慧<br><br><br>
製作環境<br>UTF-8Writer<br>http://pori2.net/<br><br><br>
技術提供<br>JavaScript入門<br>http://pori2.net/js/<br><br><br>
<br><br><br>
<span style="font-size:80pt">Fin</span><br><br><br>
<br><br><br><br><br><br><br><br><br><br>
</body>
さらに、ヘッダーでスタイルを指定します。 背景を黒色,文字サイズを20ptで太字、センタリング,文字色を白色にします。 以下のスタイルシートをstaffroll.htmlのヘッダー部分に記入してみてください。
body
{
background-color:black;
font-size:20pt;
font-weight:bold;
text-align:center;
color:white;
}
前置きが長くなりましたが、いよいよスタッフロールのスクリプトです。 中身はわずか2行だったりします。 staffroll.htmlのヘッダーに、以下のスクリプトを記入なさってください。
<script>
function scroll()
{
scrollBy(0,2);
setTimeout("scroll()",100);
}
</script>
<サンプル>
scrollBy()を使って、画面を2px下にずらします。 そしてsetTimeout()を用いて、100ミリ秒毎に関数scroll()を呼び出します。 これで画面が徐々に下に移動し、文字が上に流れているように見えるのです。 もっと滑らかに見せたければ、移動量を1pxにして呼び出し間隔を半分にしてみてください。
スタッフロールを実際に作る場合は、最初と最後は改行タグではなく、 透明画像を用いて縦幅を調整するとベターです。 画像だとheight属性を使ってきちんとした縦幅を指定できるからです。
<img src="blank.gif" height="480" width="1" alt=""><br>
STAFF<br>
…(以下略)
例えば上のように最初に縦幅480pxの透明画像を入れておけば、 画面を開いた時には何も表示されておらず、 すぐに下から「STAFF」の文字が現れることになります。
あとは音楽でも流せば本物のスタッフロールに見せることができます!