ウエーブをかけて表示・消滅するスライドショー JavaScript
戻 る

北アルプスの風景

スライドショーの特徴
・ 一定の時間毎に、画像がウエーブをかけて表示・消滅するスライドショーです。
・ 「開始」ボタンでスライドが始まり、「停止」ボタンで止まります。
・ 数値の設定だけで、画像表示が調整出来ます。
設定方法
まず、「ソースファイル」を、指示に従いコピーアンドペーストします。

(1)「表示をデザインする」の部分で、色に合わせて、次の設定をします。

 ■ タイトル名を入れてください。
 ■ タイトル文字の文字の大きさ書体を、好みで変えてください。
 ■ タイトル名に代わり <img src="画像ファイル"> で画像も使えます。
 ■ スライドショー本体の、額縁の種類、額縁の色を、好みで変えてください。
    ※ 本項目の設定内容は、リンク先参照。  額縁の太さのみ「入力事項」で指定します。
 ■ その他の設定がわかる方は、好みに合わせて指定を変更してください。

<!-- ******************** 表示をデザインする ********************** -->
<!-- タイトル -->
<span id="ttle" style="position:absolute;font:bold 18pt DHP行書体; color:#0033CC">
  北アルプスの風景</span><br><br>
<!-- スライド本体 -->
<div id="gakubuti" style="position:absolute; border:outset #6060a0; z-index:2;
  background-color:#ffffff"></div>
<div id="slide" style="position:absolute; z-index:3; filter:wave(lightstrength=0);"></div>
<!-- スイッチ -->
<span id="swit" style="position:absolute;"></span>
<!-- ************************* ここまで *************************** -->


(2)「入力事項」の部分で、色に合わせて、次の設定をします。 太字は入力可能場所。

 ■ 「0」から順にスライドする画像を、アドレスを含むファイル名で指定します。
 ■ スライドショーの位置を、左からの間隔上からの間隔で指定します。
 ■ 画面の表示幅は必ず入力してください。
 ■ 画面の高さの指定が「0」の場合、1枚目の画像の縦横比で決定されます。
 ■ 本体の額縁の太さを指定します。
 ■ 開始スイッチの画像が「0」ならば、停止スイッチの画像の指定は無効です。
 ■ 画像が徐々変化する速さを、好みに合わせ指定します。
 ■ その他、必要に応じて、指示に従い設定してください。

// ***************************  入力事項  *****************************
// ======= 入力1:スライド画像の設定 =======
// 出したい画像の種類を必要数だけ表示順に入力(0から順に)
// 注意!! 画像(写真)の縦と横の比は一定に加工しておいて下さい
ugoku[ 0 ]=(" ../parts/sinho0.jpg ");
ugoku[ 1 ]=(" ../parts/sinho1.jpg ");
ugoku[ 2 ]=(" ../parts/sinho2.jpg ");
ugoku[ 3 ]=(" ../parts/sinho3.jpg ");
ugoku[ 4 ]=(" ../parts/sinho4.jpg ");
// ======= 入力2:位置等の設定 =======
var xx = 90;               //スライドショー左端までの間隔(ピクセル)
var yy = 60;               //スライドショー上端までの間隔(ピクセル)
var pitch = 3.0;           // スライドする間隔(秒)(初期値 3.0)
var haba = 400;            // 表示する幅(ピクセル)(初期値 400)
var taka =0;               // 表示する高さ(ピクセル) 0ならば自動設定
var waku = 15;             // 額縁の厚さ(ピクセル)(初期値 15)
var str = "0";     // スライド開始スイッチの画像 「0」ならばボタン選択
var stp ="../parts/stp.gif";  // スライド停止スイッチの画像
// ======= 入力3:表示・消滅の速さの調整 =======
var ed= 100;   // 画像の表示が変化する時間で、大きいほど長い(初期値 100)
var nw= 0.10 ; // 画像が消えてから次の表示開始迄の待ち時間  (初期値 0.10秒)
var chg= 10  ; // 一秒当たりの描画の切替え回数              (初期値 10 回)
// ************************** 入力事項ここまで **************************
更新履歴
・05/06/10 ver 0.30 原画像の縦横比を読みとるように更新
・03/11/01 ver 0.20 デザインの指定法をタグで調整出来るように更新
・03/07/13 ver 0.10 スタートの画面にウエーブをかけないようにする
・03/04/20 ver 0.00 スライドショーより拡張性を持たしたタイプを初公開
ソースファイル
・ まず、<body>〜</body>の間の任意の場所に、下記の部分をコピーアンドペーストして下さい。
<!-- ******************** 表示をデザインする ********************** -->
<!-- タイトル -->
<span id="ttle" style="position:absolute;font:bold 18pt DHP行書体; color:#0033CC">
  北アルプスの風景</span><br><br>
<!-- スライド本体 -->
<div id="gakubuti" style="position:absolute; border:outset #6060a0; z-index:2;
  background-color:#ffffff"></div>
<div id="slide" style="position:absolute; z-index:3; filter:wave(lightstrength=0);"></div>
<!-- スイッチ -->
<span id="swit" style="position:absolute;"></span>
<!-- ************************* ここまで *************************** -->

・ 次に、<body>〜</body>の間の任意の場所に、下記の部分をコピーアンドペーストして下さい。
<script type="text/javascript">
<!--// slide_auto02 ver0.30  (ぱーぷりんの溜まり場)
ugoku=new Array(); // この行は触らないで・・

// ***************************  入力事項  *****************************
// ======= 入力1:スライド画像の設定 =======
// 出したい画像の種類を必要数だけ表示順に入力(0から順に)
// 注意!! 画像(写真)の縦と横の比は一定に加工しておいて下さい
ugoku[ 0 ]=(" ../parts/sinho0.jpg ");
ugoku[ 1 ]=(" ../parts/sinho1.jpg ");
ugoku[ 2 ]=(" ../parts/sinho2.jpg ");
ugoku[ 3 ]=(" ../parts/sinho3.jpg ");
ugoku[ 4 ]=(" ../parts/sinho4.jpg ");
// ======= 入力2:位置等の設定 =======
var xx=90 ;                 //スライドショー左端までの間隔(ピクセル)
var yy=60;                  //スライドショー上端までの間隔(ピクセル)
var pitch=3.0;              // スライドする間隔(秒)(初期値 3.0)
var haba =400 ;             // 表示する幅(ピクセル)(初期値 400)
var taka =0;                // 表示する高さ(ピクセル) 0ならば自動設定
var waku = 15 ;             // 額縁の厚さ(ピクセル)(初期値 15)
var str= "0";      // スライド開始スイッチの画像 「0」ならばボタン選択
var stp= "../parts/stp.gif";   // スライド停止スイッチの画像
// ======= 入力3:表示・消滅の速さの調整 =======
var ed = 100;   // 画像の表示が変化する時間で、大きいほど長い(初期値 100)
var nw = 0.10;  // 画像が消えてから次の表示開始迄の待ち時間  (初期値 0.10秒)
var chg= 10;    // 一秒当たりの描画の切替え回数              (初期値 10 回)
// ************************** 入力事項ここまで **************************

 var mai=ugoku.length-1, n=0, inc=0;

// タイトルの設定
 ttle.style.left=xx+20;
 ttle.style.top=yy;

// 画像の設定
 first_img = new Image(); first_img.src = ugoku[0];
 slide.innerHTML="<img src='"+ugoku[0]+"' name='imgs'>";
  w_img=document.imgs.width; h_img=document.imgs.height;
 imgs.style.width=haba;
  if (taka==0){ taka = haba*h_img/w_img }
 slide.style.height=taka;
 slide.style.backgroundColor="#ffffff";
 slide.style.overflow="hidden";
 slide.style.left=xx+waku;
 slide.style.top=yy+30+waku;

// 額縁の設定
 gakubuti.style.borderWidth=waku;
 gakubuti.style.width=haba+waku*2;
 gakubuti.style.height=taka+waku*2;
 gakubuti.style.left=xx;
 gakubuti.style.top=yy+30;

// コントロールスイッチの設定
 if (str!=0) { swit.innerHTML=
  "<span onclick='dec_sakura()'><img src='"+str+"' border=0 hspace=20></span>"+
  "<span onclick='end()'><img src='"+stp+"' border=0 hspace=20></span>"; }
 else { swit.innerHTML=
  "<input type='button' value='開始' onclick='inc_sakura()'>     "+
  "<input type='button' value='停止' onclick='end()'>"; }
 swit.style.left=xx+20;
 swit.style.top=yy+taka+waku*2+40;

// ----- 関 数 -----
function inc_sakura() {
 slide.filters.wave.phase+= 10;
 slide.filters.wave.strength = Math.floor(inc);
 slide.filters.wave.lightstrength = Math.floor(inc/2);
 slide.filters.wave.freq = Math.floor(inc/10);
 if(inc<=100){ inc+=500/ed;
  tim=setTimeout("inc_sakura()",1000/chg); }
 else {clearTimeout(tim);
  if (n>=mai) { n=0 } else { n++ }
  document.imgs.src=ugoku[n]; mati(); } }

function dec_sakura() {
 slide.filters.wave.phase+= 10;
 slide.filters.wave.strength = Math.floor(inc);
 slide.filters.wave.lightstrength = Math.floor(inc/2);
 slide.filters.wave.freq = Math.floor(inc/10);
 if(inc>1){ inc-=500/ed;
  tim=setTimeout("dec_sakura()",1000/chg); }
 else { clearTimeout(tim); hyoji(); } }

function hyoji() { setTimeout("inc_sakura()",1000*pitch); }
function mati() { setTimeout("dec_sakura()",1000*nw); }

function end(){
 clearTimeout(tim); }
//-->
</script>