0){~}これはどういうことかというと、numというのはフェードインさせたい画像の枚数でした。これが0より大きい場合に、中の処理が行われます。中では、なんとこの関数自体が呼ばれています。関数の中で、その関数が呼ばれている状態です。これはsetTimeoutで時間差を付けて実行されます。実は変数numの値(フェードインさせたい画像の枚数)ですが、これは変わります。関数randomImage()が実行される度に、配列fadeInImg自体の要素数が減っていくのです。ここは関数の中で関数を呼ぶことで、フェードインさせたい画像の枚数分だけ処理が適用されることとなります。そのため、やがて値(配列の数)が0になるのですね。条件に当てはまらない場合、つまりspliceで配列が空になってしまった場合はreturnします。ランダムで画像(要素)がフェードインしてくるサンプル個人的な都合で、画面更新をしたときに要素の順序がバラバラになったほうが良かったので、そちらも実装してみます。数行のコードを足すだけです。jQueryでランダムに画像(要素)をフェードインさせ、読み込むたびに順番もランダムにするサンプルHTMLとCSSは同じものだとします。jQueryサンプルにコードを足しましょう。//関数randomShadowの中で関数randomShadowを呼んでいる。//これによりspliceの除外が重なり、徐々に配列fadeInImgの要素数が減る。//配列fadeInImgをランダムに1つずつ削除していく//関数randomShadowの中で関数randomShadowを呼んでいる。//これによりspliceの除外が重なり、徐々に配列fadeInImgの要素数が減る。///↑追記ここまでが、さきほどのサンプルとの違いです。まとめると、フェードインさせたい要素を配列に逃がして、順番を変えて同じ場所に入れなおしているのです。//表示したい場所は、メモしてあるとおり、要素を入れる場所と個々の要素を含むリストです。そのすぐ下に新しく空の配列を作り、その中に、変数list(個々の要素を含むリスト)の中のHTMLをeachで1つずつ、配列にpushします。//リストタグ中のHTMLを抜き出し配列に格納});ここ。$(this)はeachで処理中の要素です。その下のsort()で、配列に格納したあれこれの順番をランダムにします。MDNそのあとはemptyを使って、もともと要素があった場所を空にします。配列に入っているので用済みです。STUDIOさいごに、配列の要素の数だけfor()でループ処理。それを利用して、変数area(表示したい場所)に入れ込んで終了です。array.sort()のところで配列はランダムになっているので、for()中では特別な処理はしていません。ランダムで画像がフェードインしてくるサンプル(リロードする度に順番が変わる)以上。音楽Profile東京でWebデザイナー・コーダーとして、フロントエンド的なことからデザイン思考的なことを考えたりして、ごにょごにょと活動中。休日はよくカフェや漫画喫茶に出向いたりパン屋に行ったりコーヒ豆買いに行ったり、主に散歩しています。デザインのトレンドやデザイン思考、HTML、CSSからSASS、Javascript、Wordpress構築などコーディングのTIPSなどをブログにアップしていきます。