// ========================================================= // 客室ページ専用 JavaScript (room.js) // ========================================================= document.addEventListener('DOMContentLoaded', function () { /* ------------------------------------------------------- 1. メインの客室スライダー (#room-splide01) ------------------------------------------------------- */ const roomSplide01El = document.querySelector('#room-splide01'); // 要素が存在するページでのみ実行する(エラー防止) if (roomSplide01El) { new Splide(roomSplide01El, { type : 'loop', focus : 'center', // 中央を基準にする padding : '25%', // 左右のスライドをどれくらい見せるか(PC) gap : '2rem', // スライド間の余白 speed : 1200, // 切り替わるスピード(ゆっくり) autoplay : true, interval : 5000, arrows : true, pagination : true, breakpoints: { 768: { padding: '10%', // スマホ時はチラ見せを少なく gap : '1rem', } } }).mount(); } /* ------------------------------------------------------- 2. サブ客室スライダー & 間取りスライダー (.room-splide02, .madori-splide) ------------------------------------------------------- */ const subSliders = document.querySelectorAll('.room-splide02,.room-splide03, .madori-splide'); subSliders.forEach(function (el) { const slides = el.querySelectorAll('.splide__slide'); // ★ 画像が1枚以下の場合はスライダー化しない if (slides.length <= 1) { el.classList.remove('splide'); return; } // ★ クラスによってオプションを切り替え let options = {}; if (el.classList.contains('room-splide02')) { // 部屋写真スライダー(自動再生あり) options = { type : 'loop', focus : 'center', gap : '2rem', speed : 1200, autoplay : true, interval : 5000, arrows : true, pagination : true, breakpoints: { 768: { gap: '1rem' } } }; } else if (el.classList.contains('room-splide03')) { // ★追加:部屋写真スライダー(自動再生なし) options = { type : 'loop', perPage : 1, focus : 'center', gap : '2rem', speed : 1200, autoplay : false, // 自動再生なし arrows : true, pagination : true, breakpoints: { 768: { gap: '1rem' } } }; } else if (el.classList.contains('madori-splide')) { // 間取りスライダー options = { type : 'slide', perPage : 1, pagination : true, arrows : true }; } new Splide(el, options).mount(); }); });