その他10 ■面白■ 1時間ごとに画像変化・連番    最終修正日 : 2015/01/15

 ■画像位置指定が好みの位置に簡単にできるように修正しました。■

時々、「おお、こんな短いソースで動くのか!」と、感動するJavaScriptに出会うことがあります。
これもそうです。なんと、1時間ごとに24枚の画像が変わります。なのに、このソースの単純さ!

画像指定の方法は、連番指定という方法です。画像ファイル名の付け方にコツがあります。
以下、原本の注意書き↓


一時間おきに表示する画像を変えます。
使用するに先立って、ファイル名を image0.jpg、image1.jpg、image2.jpg ・・・ image23.jpgまでの24個を用意する必要があります。
ファイル名のつけ方は、必ず上述のようにする必要があります。別に使用する画像はjpgでもgifでもかまいません。gifを使用する場合は、スクリプトを適当に編集してください。(★当サイトではgifを使用)


以下に、CSSでの装飾を省いたJavaScriptのソースを載せて、説明します。CSSも付けた全ソースは一番下にあります。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>1時間ごとに画像変化</title>
</head>
<body>

<!--★ここからコピー-->

<img src="" id="Ga">

<script type="text/javascript">
<!--
/*=============================================================
参考・1時間ごとに画像が変化 By http://freett.com/nihonkyokujituto/download/javasc/js_top.htm
★document.write記述を削除 2015/01/15
=============================================================*/
var h= (new Date()).getHours();
var ga="image"+h+".jpg"; 
Ga.src = ga;
Ga.title=""+h+"時過ぎだよ!";
//-->
</script>
<!--★ここまでコピー-->

</body>
</html>

さて、重要な点が二つあります。
第一は原本でも説明されている、画像指定の方法です。
原本通りの画像指定の場合、上記の見本ソース通り var ga="image"+h+".jpg"; です。

しかし画像の名前が、mini0.png から mini23.png の24枚だったら → var ga="mini"+h+".png";
それが image というフォルダーに入っていたら → var ga="image/mini"+h+".png";
そのフォルダーが、この html よりも一つ上の階層にあったら → var ga="../image/mini"+h+".png";

画像の名前が img0mini.gif から img23mini.gif の24枚だったら → var ga="img"+h+"mini.gif";
画像の名前が 0.jpg から 23.jpg の24枚だったら → var ga=""+h+".jpg"; 又は、var ga=h+".jpg";

上記見本を見ればわかる通り、24枚の画像ファイル名は 0 から 23 までの数字以外が、全部同じです。
そして同じでさえあれば、どんなふうにでも指定可能です。


第二の重要点は、原本には無い Ga の指定です。
この指定をすることで、CSSでいろいろな装飾ができます。そして絶対位置指定も可能です(topから●pxで leftから●pxという指定方法)。
でもそんな指定方法ではなく、いろいろな文章を書いた、その直下に表示したいという時。
<img src="" id="Ga">をその表示したい位置に記述して下さい。それを記述した位置が、画像表示位置になります。

前回では、「表示したい位置にJavaScriptのソースを全部書く」と説明しましたが、今回修正しました。この方がわかりやすいと思います。
そのかわり、絶対位置だろうと好みの位置指定だろうと、必ずbodyの中に
<img src="" id="Ga">の記述が必要です。
img src="" の "" には、画像名は記述しないでよいです。
(上記をコピペされる時は、< と > は半角文字に変更して下さい。)


最後にオマケで記述した Ga.title=""+h+"時過ぎだよ!"; の説明。
title=""を指定すると、画像にマウスオーバーした時に、説明文字が出ます。
この場合 "+h+" 指定をしているので、その時の時刻がでます。
「時過ぎだよ!」の部分は、何時でも出る共通分なので、自分の好みで変更できます。
「時になったよ♪」でも「時になりました」でもいいし、不要なら Ga.title=""+h+"時過ぎだよ!"; の部分を全部削除して下さい。


でも、ほんとうに1時間ごとに画像が変わってるのかなぁと不安な方。
いちいちこのJavaScriptのページを探すのもたいへんでしょうから、メニューの『その他』のボタンをクリック。
そのページのタイトル画像の左横に同じ画像を表示しているので、時間ごとにチェックしてみて下さい。
このJavaScriptを基本にした、応用編の説明ページはこちらです。

◆全ソース◆
ソースの中でマウスの右クリックで『すべて選択』した後に、
再度右クリックして『コピー』