JavaScriptでヘッダー画像を切り替えるコードを紹介

今回はCSSのbackground-imageで画像を切り替えるコードを紹介していきます。

ヘッダー画像を切り替えるコード

let img_index = 0;
let header_img = document.getElementById('exampleImgContent');
let header_imgs_array = [
    'img/example.jpg',
    'img/example2.jpg',
];

function header_imgs_change() {
    header_img.style.backgroundImage = "url(" + header_imgs_array[img_index] + ")";
    img_index++;

    if (img_index === header_imgs_array.length) {
        img_index = 0;
    }
}

setInterval(header_imgs_change, 5000);

・簡単なプログラムの流れ

注意としてChrome、Safari、Edgeではふわっとが可能。Firefoxではふわっとなし。

ヘッダー画像を切り替えるコードの解説

1. 変数を設定する

let img_index = 0;
let header_img = document.getElementById('exampleImgContent');
let header_imgs_array = [
    'img/example.jpg',
    'img/example2.jpg',
];

2. メイン処理をしていく

function header_imgs_change() {
    header_img.style.backgroundImage = "url(" + header_imgs_array[img_index] + ")";
    img_index++;

    if (img_index === header_imgs_array.length) {
        img_index = 0;
    }
}

3. 何秒後にメイン処理をするか設定する

setInterval(header_imgs_change, 5000);

最後にsetInterval関数で何秒後にheader_imgs_change()を実行するか決める。1秒後=1000。今回は5秒後なので5000。

今回はここまで。

・レスポンシブヘッダーを作りませんか?
「レスポンシブ」ヘッダーを作る Part1【HTML編】
「レスポンシブ」ヘッダーを作る Part2【CSS編】
「レスポンシブ」ヘッダーを作る Part3【JavaScript編】