Splide.js で Lazy Load による画像非表示を防ぐ方法
問題点
Splide.js を使用している際に、Lazy Load(遅延読み込み)が影響し、サムネイル画像が data:image/png;base64,... のプレースホルダー画像になり、正しく表示されないことがあります。
解決策
JavaScript を使用して data-src の値を src に適用し、Lazy Load の影響を防ぎます。
また、Splide.js の設定で cover: false と lazyLoad: false を設定し、背景画像の自動適用を防ぎます。
Splide.js の設定修正
// Splide.js のサムネイルスライダー設定
// cover: false で背景画像を無効化し、lazyLoad: false で遅延読み込みを無効化
document.addEventListener('DOMContentLoaded', function () {
var thumbSlider = new Splide('#sample-carousel', {
fixedWidth : 100,
fixedHeight : 60,
isNavigation: true,
gap : 10,
focus : 'center',
pagination : false,
cover : false, // coverを無効化
lazyLoad : false, // Lazy Load を無効化
breakpoints : {
600: {
fixedWidth : 66,
fixedHeight : 40,
},
},
}).mount();
});
ポイント
✅ cover: false → 背景画像としての適用を防ぐ
✅ lazyLoad: false → Splide.js の Lazy Load を無効化
data-src の画像を正しく適用するスクリプト
// Lazy Load の影響で `data-src` に画像URLが設定されている場合、src に適用し、表示を有効化
document.addEventListener("DOMContentLoaded", function () {
document.querySelectorAll('.sample-slide img.lazyload').forEach(img => {
if (img.hasAttribute("data-src")) {
img.src = img.getAttribute('data-src'); // `data-src` の値を `src` に適用
img.style.display = 'block'; // `display: none;` を解除
}
});
});
ポイント
✅ data-src の値を src にコピーすることで、Lazy Load の影響を解除
✅ display: none; になっている場合に display: block; を適用して強制表示
まとめ
Splide.js で Lazy Load の影響を防ぐには、
- Splide.js の
lazyLoad: falseを適用 して遅延読み込みを防ぐ data-srcをsrcに適用するスクリプトを追加 し、正しく画像を表示させる
この方法を適用することで、Lazy Load による画像の非表示を回避し、
正しくスライダーを動作させることができます。


Swiperで作る“寄り→引き”ヒーロースライダー実装ガイド 〜ズーム方向指定・Ken Burns効果・進捗ラインまで〜
1月 6, 2026横スライドしながら拡大するスライド演出の作り方〜ズームインで魅せる、上質なキービジュアル表現〜
12月 24, 2025今日の日付と現在時刻を自動表示!「10月15日10:15 現在」をJavaScriptで実装する方法
10月 15, 2025