PageSourceSearch

https://www.sankarahotel-spa.com/mg/wp-content/themes/origami_all_…/assets/common/js/sliders.js?ver=3.0.0

js sankarahotel-spa.com collected 2026-10-03 22:12:35 UTC 8,409 bytes, 253 lines download raw bytes

1
2/* WebGL Slider */
3/*
4var elms = document.getElementsByClassName( 'gl-slider' );
5if(elms.length > 0){
6  for ( var i = 0; i < elms.length; i++ ) {
7    const slider = elms[i];
8    const { shaders } = SplideShaderCarousel;
9    const displacement = path + '/assets/common/img/displacement.jpg';
10    const heightRatio = slider.dataset.height ? slider.dataset.height : 0.625;
11    const heightRatioSP = slider.dataset.spheight ? slider.dataset.spheight : 0.7;
12    const arrows = slider.querySelectorAll('.splide__arrows').length > 0 ? true : false;
13    const dots = slider.querySelectorAll('.splide__pagination').length > 0 ? true : false;
14    const autoplay = !slider.dataset.autoplay || slider.dataset.autoplay == true ? true : false;
15    const caption = slider.querySelector('.caption');
16    const splide = new SplideShaderCarousel( slider, shaders.maskShader, {
17      type      : 'fade',
18      autoplay  : autoplay,
19      arrows    : arrows,
20      pagination: dots,
21      heightRatio : heightRatio,
22      speed     : 2000,
23      rewind    : true,
24      continuous: true,
25      mask      : displacement,
26      material: {
27        intensity: 0.3,
28        uvOffset: [ -1.0, -1.0 ],
29      },
30      breakpoints: {
31        575: {
32          heightRatio : heightRatioSP,
33        }
34      }
35    } );
36    function updateCaptionWithFade() {
37      if (caption) {
38        caption.classList.add('fade-out');
39        setTimeout(() => {
40          const activeSlide = slider.querySelector('.splide__slide.is-active');
41          const captionText = activeSlide ? activeSlide.getAttribute('data-caption') : '';
42          caption.textContent = captionText || '';
43          caption.classList.remove('fade-out');
44        }, 500);
45      }
46    }
47    splide.on('ready active', updateCaptionWithFade);
48    splide.mount();
49  }
50}*/
51
52var elms = document.getElementsByClassName( 'gl-slider' );
53if(elms.length > 0){
54  for ( var i = 0; i < elms.length; i++ ) {
55    const slider = elms[i];
56    const heightRatio = slider.dataset.height ? slider.dataset.height : 0.625;
57    const heightRatioSP = slider.dataset.spheight ? slider.dataset.spheight : 0.7;
58    const arrows = slider.querySelectorAll('.splide__arrows').length > 0 ? true : false;
59    const dots = slider.querySelectorAll('.splide__pagination').length > 0 ? true : false;
60    const autoplay = !slider.dataset.autoplay || slider.dataset.autoplay == true ? true : false;
61    const caption = slider.querySelector('.caption');
62    const splide = new Splide( slider, {
63      type      : 'fade',
64      autoplay  : autoplay,
65      arrows    : arrows,
66      pagination: dots,
67      heightRatio : heightRatio,
68      speed     : 2000,
69      rewind    : true,
70      continuous: true,
71      breakpoints: {
72        575: {
73          heightRatio : heightRatioSP,
74        }
75      }
76    } );
77    function updateCaptionWithFade() {
78      if (caption) {
79        caption.classList.add('fade-out');
80        setTimeout(() => {
81          const activeSlide = slider.querySelector('.splide__slide.is-active');
82          const captionText = activeSlide ? activeSlide.getAttribute('data-caption') : '';
83          caption.textContent = captionText || '';
84          caption.classList.remove('fade-out');
85        }, 500);
86      }
87    }
88    splide.on('ready active', updateCaptionWithFade);
89    splide.mount();
90  }
91}
92
93var elms1 = document.getElementsByClassName( 'slider' );
94if(elms1.length > 0){
95  for ( var i = 0; i < elms1.length; i++ ) {
96    const slider = elms1[i];
97    const arrows = slider.querySelectorAll('.splide__arrows').length > 0 ? true : false;
98    const dots = slider.querySelectorAll('.splide__pagination').length > 0 ? true : false;
99    const autoplay = !slider.dataset.autoplay || slider.dataset.autoplay == true ? true : false;
100    const caption = slider.querySelector('.caption');
101    const splide = new Splide( slider, {
102      type      : 'loop',
103      autoplay  : autoplay,
104      arrows    : arrows,
105      pagination: dots,
106      speed     : 800,
107      rewind    : true,
108      perPage   : 1,
109      perMove   : 1,
110      gap       : 0,
111      focus     : 0,
112      padding: { left: 0, right: '40%' },
113      breakpoints: {
114        767: {
115          padding: { left: 0, right: '20%' },
116        },
117        575: {
118          padding: '7vw',
119        },
120      }
121    } );
122    function updateCaptionWithFade() {
123      if (caption) {
124        caption.classList.add('fade-out');
125        setTimeout(() => {
126          const activeSlide = slider.querySelector('.splide__slide.is-active');
127          const captionText = activeSlide ? activeSlide.getAttribute('data-caption') : '';
128          caption.textContent = captionText || '';
129          caption.classList.remove('fade-out');
130        }, 250);
131      }
132    }
133    splide.on('ready active', updateCaptionWithFade);
134    splide.mount();
135  }
136}
137
138var elms2 = document.getElementsByClassName( 'slider-2col' );
139if(elms2.length > 0){
140  for ( var i = 0; i < elms2.length; i++ ) {
141    const slider = elms2[i];
142    const arrows = slider.querySelectorAll('.splide__arrows').length > 0 ? true : false;
143    const dots = slider.querySelectorAll('.splide__pagination').length > 0 ? true : false;
144    const autoplay = !slider.dataset.autoplay || slider.dataset.autoplay == true ? true : false;
145    const splide = new Splide( slider, {
146      //autoplay  : autoplay,
147      arrows    : arrows,
148      pagination: dots,
149      speed     : 800,
150      rewind    : true,
151      perPage   : 2,
152      perMove   : 1,
153      gap       : 1,
154      focus     : 0,
155      trimSpace: false,
156      breakpoints: {
157        767: {
158          perPage   : 1,
159        },
160        575: {
161          padding: '7vw'
162        },
163      }
164    } );
165    splide.mount();
166  }
167}
168
169var elms3 = document.getElementsByClassName( 'slider-3col' );
170if(elms3.length > 0){
171  for ( var i = 0; i < elms3.length; i++ ) {
172    const slider = elms3[i];
173    const arrows = slider.querySelectorAll('.splide__arrows').length > 0 ? true : false;
174    const dots = slider.querySelectorAll('.splide__pagination').length > 0 ? true : false;
175    const autoplay = !slider.dataset.autoplay || slider.dataset.autoplay == true ? true : false;
176    const splide = new Splide( slider, {
177      //autoplay  : autoplay,
178      arrows    : arrows,
179      pagination: dots,
180      speed     : 800,
181      rewind    : true,
182      perPage   : 3,
183      perMove   : 1,
184      gap       : '3.5%',
185      focus     : 0,
186      trimSpace: false,
187      breakpoints: {
188        767: {
189          perPage   : 2,
190        },
191        575: {
192          perPage   : 1,
193        }
194      }
195    } );
196    function updatePadding() {
197      if(slider.closest('.slider-wrapper').classList.contains('over-right')){
198        const parent = slider.closest('.main-col') ? slider.closest('.main-col') : slider.closest('section');
199        const rect = parent.getBoundingClientRect();
200        const windowWidth = document.documentElement.clientWidth;
201        const distanceToRight = windowWidth - rect.right;
202      
203        splide.options = { padding: { left: 0, right: distanceToRight } };
204      }
205    }
206    splide.on('ready resize', updatePadding);
207    splide.mount();
208  }
209}
210
211
212function equalizeSlideBodies(sliderEl){
213  const bodies = sliderEl.querySelectorAll('.splide__slide .slide-body');
214  if(!bodies.length) return;
215  bodies.forEach(el => el.style.minHeight = '');
216  let max = 0;
217  bodies.forEach(el => {
218    const h = el.getBoundingClientRect().height;
219    if(h > max) max = h;
220  });
221  bodies.forEach(el => el.style.minHeight = max + 'px');
222}
223
224var spSlider = document.getElementsByClassName('sp-slider');
225if(spSlider.length > 0){
226  for (var i = 0; i < spSlider.length; i++){
227    const slider = spSlider[i];
228    const arrows = slider.querySelectorAll('.splide__arrows').length > 0;
229    const dots   = slider.querySelectorAll('.splide__pagination').length > 0;
230    const autoplay = (!slider.dataset.autoplay || slider.dataset.autoplay == true);
231    const splide = new Splide(slider, {
232      //autoplay  : autoplay,
233      arrows    : arrows,
234      pagination: dots,
235      speed     : 800,
236      rewind    : true,
237      perPage   : 2,
238      perMove   : 1,
239      gap       : '3.5%',
240      focus     : 0,
241      destroy   : true,
242      breakpoints: {
243        991: { destroy: false },
244        767: { perPage: 1 }
245      }
246    });
247    // mount後/移動後/リサイズ後に再計測
248    splide.on('mounted moved resized', function(){
249      equalizeSlideBodies(slider);
250    });
251    splide.mount();
252  }
253}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.