フェード11■フェードで4方向ランダム移動HTML記述    最終修正日 : 2016/01/13

■2016/01/13:即時関数で囲んで、グローバル変数を消しました。
上下左右の4方向にランダムに移動しながら、フェードイン・フェードアウトで切り替わるスライドショーです。
見つけた時は、こんな短い JavaScript でこれほど複雑な動作ができるのかと感動してしまいました。
原本は教えて!goo の「babu_baboo さんの回答」から。
スライド画像にリンクを指定することもできます。
画像指定は JavaScript のソースの中ではなく、HTML の中で記述します。

一つだけ注意すること!!
このページを開くと、最初に表示されるのは「ウサギの画像」です。
ところがこの「ウサギの画像」は、実は5枚のスライド画像の中で、最後に指定した5番目の画像です。
最後(5番目)の画像→1番目の画像→2番目の画像→3番目→4番目→5番目→1番目・・・
後はそのままループ(繰り返)していきます。
画像順番にこだわらなければこれでもいいですが、気になるならCSSに「#mn div{opacity:0;}」と記述して下さい。
記述するとスライドショー開始時に、最後の画像は表示されずに空白から始まります。

■8方向に移動し、画像は JavaScript 内指定のJavaScriptはこちら→ フェード12■フェードで8方向ランダム移動リンク無


この4方向移動の JavaScript を上記のような8方向移動へ変更する方法。
ソースの真ん中より少し下あたりの2行の
var r=Math.floor(Math.random()*4);
x=[0,w,0,-w][r]; y=[-h,0,h,0][r];

この部分を
var r=Math.floor(Math.random()*8);
x=[0,w,0,-w,w,w,-w,-w][r]; y=[-h,0,h,0,h,-h,h,-h][r];

と変更すると、8方向になります。