ひとつづつ順に切り替える
ひとつづつ順に切り替える JavaScript
戻 る



プログラムの特徴
 * ファイルがスタートすると徐々に画像が現れ、徐々に消えます
 * 同時に画像に対応したコメントを、任意の位置に表示される指定が出来ます。
 * 最後に指定した画像は、他の画像と一斉に表示される指定が出来ます
 * 指定した画像を順番に表示し、繰り返します
 * 数値の設定だけで、画像の指定や、位置や変化の調整が出来ます。
 * Internet Explorer 6 以外のブラウザでは正しく表示されない場合があります。
 * Netscape 7 では、全部が表示されたままになり、徐々に変化しません。

設定方法
まず、「ソースファイル」を、指示に従いコピーアンドペーストします。
「入力事項」の部分で、色に合わせて、次の設定をします。 太字は入力可能場所。

 ■ 「0」から順に、画像種類毎に設定します。
 ■ 画像の座標を、画面左からの距離、画面上からの距離をピクセル値で入力します。
 ■ 画像の表示させる時間を、秒数で入力します。
 ■ 画像が徐々に変化する速さの値を入力します。
    数字が大きいほどゆっくり変化します。(秒数ではありません)
 ■ 表示したい数の画像を、アドレスを含むファイル名で指定します。
 ■ コメントの座標を、画面左からの距離、画面上からの距離をピクセル値で入力します。
 ■ コメントの内容を入力します。タグが使用できます。
 ■ 画面左端から左側基準線までの距離(px)を入力します。
 ■ 画面上端から上側基準線までの距離(px)を入力します。
 ■ 画像に対応したコメントを、同時に表示するかどうか、指示に従い指定します。
 ■ 最後の画像で、一斉表示するかどうか、指示に従い指定します。
 ■ 1秒間に変化する回数を入力します。

// ****************************  入力事項  *******************************
// ======= 入力1:画像の種類と 位置・表示時間・メッセージ等
// 出したい画像の種類を必要数だけ、0 から順に設定する。
// 1番目の数字で、画像の左側基準線からの距離(px)を入力。
// 2番目の数字で、画像の上側基準線からの距離(px)を入力。
// 3番目の数字で、表示する時間(秒)を入力。
// 4番目の数字で、徐々に変化する速さを入力。(数値が小さいほど速い)
// 5番目でアドレスを含む画像ファイル名を入力。
// 6番目の数字で、メッセージの左側基準線からの距離(px)を入力。
// 7番目の数字で、メッセージの上側基準線からの距離(px)を入力。
// 8番目でメッセージの内容を入力。(タグ使用可能)
image[0]=new Array( 100,110, 1.5,30, "../parts/file01.gif", 100,100, "
  1番目のメッセージ" );
image[1]=new Array( 400,445, 1.5,30, "../parts/file04.gif", 440,425, "
  2番目のメッセージ" );
image[2]=new Array(  30,270, 1.5,30, "../parts/file03.gif",  30,250, "
  3番目のメッセージ" );
image[3]=new Array( 580,100, 1.5,30, "../parts/file05.gif", 580, 80, "
  4番目のメッセージ" );
image[4]=new Array(  30,430, 1.5,30, "../parts/file02.gif",  60,430, "
  5番目のメッセージ" );
image[5]=new Array( 590,190, 1.5,30, "../parts/file06.gif", 600,190, "
  6番目のメッセージ" );
image[6]=new Array( 270,120, 3.0,80, "../parts/main_file.gif", 290,150, "
  7番目のメッセージ" );
// ======= 入力2:補助入力事項
var xjk =   0 ;  // 画面左端より、左側基準線までの距離(px)
var yjk =   0 ;  // 画面上端より、上側基準線までの距離(px)
var cmm =   1 ;  // 同時コメントを表示するか?( yes=1 , no=-1 )
var dal =   1 ;  // 最後の画像で全部を表示するか?( yes=1 , no=-1 )
// 速さが足りない(荒い)場合は、次の数値を大きくする
var chg =  10 ;  // 一秒当たりの描画の切替え回数            (初期値 10 回)
// ************************ 入力事項ここまで ****************************

更新履歴
・05/01/31 ver 1.00 最後で一斉表示する、コメントを同時表示するを一本化。その他。
・05/01/24 ver 0.30 画像の先読み(プレロード)に対応
・03/11/12 ver 0.20 スタート時に一瞬画像が現れるのを修正他
・03/04/13 ver 0.10 説明画像が一時消去出来るように更新
・03/04/05 ver 0.00 初 公 開

使用画像
・ 画像は、フリー素材WING さんから借りました。

ソースファイル
・下記の部分をコピーアンドペーストして使って下さい。 (<body>〜</body>の間に置く)
<script type="text/javascript">
<!--// decr_00  ver1.01   (ぱーぷりんの溜まり場)
image=new Array();  // この行はさわらないで・・

// ****************************  入力事項  *******************************
// ======= 入力1:画像の種類と 位置・表示時間・メッセージ等
// 出したい画像の種類を必要数だけ、0 から順に設定する。
// 1番目の数字で、画像の左側基準線からの距離(px)を入力。
// 2番目の数字で、画像の上側基準線からの距離(px)を入力。
// 3番目の数字で、表示する時間(秒)を入力。
// 4番目の数字で、徐々に変化する速さを入力。(数値が小さいほど速い)
// 5番目でアドレスを含む画像ファイル名を入力。
// 6番目の数字で、メッセージの左側基準線からの距離(px)を入力。
// 7番目の数字で、メッセージの上側基準線からの距離(px)を入力。
// 8番目でメッセージの内容を入力。(タグ使用可能)
image[0]=new Array( 100,110, 1.5,30, "../parts/file01.gif", 100,100, "1番目のメッセージ" );
image[1]=new Array( 400,445, 1.5,30, "../parts/file04.gif", 440,425, "2番目のメッセージ" );
image[2]=new Array(  30,270, 1.5,30, "../parts/file03.gif",  30,250, "3番目のメッセージ" );
image[3]=new Array( 580,100, 1.5,30, "../parts/file05.gif", 580, 80, "4番目のメッセージ" );
image[4]=new Array(  30,430, 1.5,30, "../parts/file02.gif",  60,430, "5番目のメッセージ" );
image[5]=new Array( 590,190, 1.5,30, "../parts/file06.gif", 600,190, "6番目のメッセージ" );
image[6]=new Array( 270,120, 3.0,80, "../parts/main_file.gif", 290,150, "7番目のメッセージ" );
// ======= 入力2:補助入力事項
var xjk =   0 ;  // 画面左端より、左側基準線までの距離(px)
var yjk =   0 ;  // 画面上端より、上側基準線までの距離(px)
var cmm =   1 ;  // 同時コメントを表示するか?( yes=1 , no=-1 )
var dal =   1 ;  // 最後の画像で全部を表示するか?( yes=1 , no=-1 )
// 速さが足りない(荒い)場合は、次の数値を大きくする
var chg =  10 ;  // 一秒当たりの描画の切替え回数            (初期値 10 回)
// ************************ 入力事項ここまで ****************************

// 共通変数・配列の設定
var no=image.length-1; inc=0; imgN=0;

// 開始値の設定
for(i=0; i<=no; i++){
 document.write("<img src='"+image[i][4]+"' style='position:absolute;"
   +"filter:alpha(opacity=0);' id='gaban"+i+"'>");
 Disp("gaban"+i, image[i][0]+xjk, image[i][1]+yjk);
 if(cmm>0){
   document.write("<div style='position:absolute; filter:alpha(opacity=0);' "
     +"id='mytext"+i+"'>"+image[i][7]+"</div>");
   Disp("mytext"+i, image[i][5]+xjk, image[i][6]+yjk) } }
 inc_sakura();

//  徐々に表示する
function inc_sakura() {
document.getElementById("gaban"+imgN).filters.alpha.opacity = inc;
  if(cmm>0){
    document.getElementById("mytext"+imgN).filters.alpha.opacity = inc }
if(inc<=100) {
  inc+=400/image[imgN][3]; tim=setTimeout("inc_sakura()",1000/chg) }
else {
  clearTimeout(tim); inc=100;
  setTimeout("dec_sakura()", 1000*image[imgN][2]) } }

//  徐々に消す
function dec_sakura() {
document.getElementById("gaban"+imgN).filters.alpha.opacity = inc;
  if(cmm>0){
    document.getElementById("mytext"+imgN).filters.alpha.opacity = inc }
if(inc>0) {
  inc-=400/image[imgN][3]; tim=setTimeout("dec_sakura()",1000/chg) }
else { clearTimeout(tim); inc=0; imgN++;
  if(imgN==no && dal>0){ inc_all() }
  else if(imgN<=no){ inc_sakura() }
  else{ imgN=0; inc_sakura() } } }

//  一斉表示する
function inc_all(){
for(i=0; i<=no; i++){
  document.getElementById("gaban"+i).filters.alpha.opacity = inc;
    if(cmm>0){
      document.getElementById("mytext"+i).filters.alpha.opacity = inc } }
if(inc<=100){
  inc+=400/image[imgN][3]; tim=setTimeout("inc_all()",1000/chg) }
else {
    clearTimeout(tim); inc=100;
    setTimeout("dec_all()", 1000*image[no][2]) } }

//  一斉消去する
function dec_all() {
for(i=0; i<=no; i++){
 document.getElementById("gaban"+i).filters.alpha.opacity = inc;
  if(cmm>0){
    document.getElementById("mytext"+i).filters.alpha.opacity = inc } }
 if(inc>0){
   inc-=400/image[imgN][3]; tim=setTimeout("dec_all()",1000/chg) }
 else {
   clearTimeout(tim); inc=0; imgN=0; inc_sakura() } }

// 画像を移動する
function Disp(num,xx,yy){
  document.getElementById(num).style.left=xx;
  document.getElementById(num).style.top =yy }

// -->
</script>