●2021/09/23:即時関数で囲んで、グローバル変数を消しました。
並んだ複数の画像がランダムに変身する面白いJavaScriptです。
見本ではフグがランダムに膨らみます。
原本は
鴈(かり)野さんちのホームページの
Java Script/DHTML 事例集の
「背伸び蛇」から。
原本でbodyに記述してあった画像を、JavaScriptでループ表示に変更。さらに
document.images[seqNo].src= Img1.src; の「document.images」を修正しました。
「document.images」とは「body」全部に使用された「img画像」を指します。
そのページに「フグ」の画像しかなければいいですが、他にも画像を使用していたら、その画像が「膨らんだフグ」に変身してしまいます。
それを防止するために「id="bs"」を指定した「div」領域の画像だけ「膨らんだフグ」に変身するよう修正しました。
さらに注意が必要なのは、「document.write」や「innerHTML」ではなく
「insertAdjacentHTML」を使用する時の、指定方法です。
「insertAdjacentHTML」はどの位置にJavaScriptで指示した要素を挿入するかを指定するメソッドです。
指定方法は4つあります。その中の2つを説明します。
「id="bs"」の領域の中に文章や他の画像(ここではサメ)があった時、「並んだ変身するフグ」をどの位置に表示するかの指定です。
今回使用したのは
「afterbegin」です。
これは
「id="bs"」の開始のタグ「<div id="bs">」の直後→つまり、領域にある要素(ここではサメ)よりも前の位置
という位置指定になります。
サメより後ろに位置指定をしたいときは
「beforeend」を使用します。
これは
「id="bs"」の終わりのタグ「</div>」の直前→つまり、領域にある要素(ここではサメ)よりも後ろの位置
になります。
もちろん「id="bs"」の領域の中にフグ以外の画像も文章も無いなら、どちらを使用しても構いません。
■「beforeend」を使用した見本のJavaScriptはこちら→ 変身2■膨らむフグ-応用(前にサメ)
「insertAdjacentHTML」の位置指定の詳しい記述方法は
JavaScriptでinsertAdjacentHTMLメソッドを使ってHTML要素を追加する方法から。
■並んだ複数の画像がランダムに変身するJavaScript関連コーナーはこちら→ その他・変身・メニュー