PageSourceSearch

https://www.karuizawa-primavera.com/about/js/scripts.js

js karuizawa-primavera.com collected 2026-10-07 07:03:37 UTC 14,778 bytes, 642 lines download raw bytes

1/*===== full height main visual =====*/
2;(function($, window, undefined) {
3  'use strict';
4
5  var pluginName = 'full-height',
6      win = $(window);
7
8  function Plugin(element, options) {
9    this.element = $(element);
10    this.options = $.extend({}, $.fn[pluginName].defaults, this.element.data(), options);
11    this.init();
12  }
13
14  Plugin.prototype = {
15    init: function() {
16      var el = this.element;
17      el.css('height', win.height());
18
19      win.on('resize.' + pluginName, function() {
20        $('[data-full-height]').css('height', win.height());
21      });
22      win.on('load.' + pluginName, function() {
23        $('[data-full-height]').css('height', win.height());
24      });
25
26    },
27
28    destroy: function() {
29      $.removeData(this.element[0], pluginName);
30    }
31  };
32
33  $.fn[pluginName] = function(options, params) {
34    return this.each(function() {
35      var instance = $.data(this, pluginName);
36      if (!instance) {
37        $.data(this, pluginName, new Plugin(this, options));
38      } else if (instance[options]) {
39        instance[options](params);
40      }
41    });
42  };
43
44  $.fn[pluginName].defaults = {
45
46  };
47
48  $(function() {
49    $('[data-' + pluginName + ']')[pluginName]();
50  });
51
52}(jQuery, window));
53
54/*=====menu=====*/
55;(function($, window, undefined) {
56  'use strict';
57
58  var pluginName = 'menu',
59      win = $(window),
60      body = $('body'),
61      offsetWin;
62
63  function Plugin(element, options) {
64    this.element = $(element);
65    this.options = $.extend({}, $.fn[pluginName].defaults, this.element.data(), options);
66    this.init();
67  }
68
69  Plugin.prototype = {
70    init: function() {
71      var that = this,
72          opts = that.options;
73
74      that.forWait = true;
75      that.isShow = false;
76      that.vars = {};
77      that.vars.btnMenu = this.element;
78      that.vars.mainMenu = $(opts.mainMenu);
79      that.vars.menuWidth = that.vars.mainMenu.outerWidth();
80      that.vars.container = $(opts.container);
81
82      that.vars.btnMenu.on('click.' + pluginName, function(e) {
83        e.preventDefault();
84        if(that.isRun) {
85          return;
86        }
87        that[(that.isShow) ? 'hideMenu' : 'showMenu']();
88
89      });
90
91
92      that.vars.mainMenu.on('touchstart.' + pluginName, function(e) {
93        var inner = $(this).find('.inner');
94
95        if(!inner.is(e.target) && inner.has(e.target).length === 0) {
96          that.hideMenu();
97        }
98
99      });
100
101      if($('html').hasClass('desktop')) {
102        that.vars.mainMenu.on('click.' + pluginName, function(e) {
103          var inner = $(this).find('.inner');
104
105          if(!inner.is(e.target) && inner.has(e.target).length === 0) {
106            that.hideMenu();
107          }
108
109        });
110      }
111
112      win.on('resize.' + pluginName, function() {
113        if(win.width() <= 767 && that.isShow && $('html').hasClass('ios')) {
114          that.resize();
115        }
116
117        if(win.width() > 767 && that.isShow) {
118          body.removeClass('pin-body').removeAttr('style');
119          that.vars.mainMenu.removeClass('active').removeAttr('style');
120          that.isRun = false;
121          that.isShow = false;
122        }
123      });
124
125    },
126
127    showMenu: function() {
128      var that = this;
129      that.isRun = true;
130      offsetWin = window.pageYOffset;
131
132      that.vars.mainMenu.animate(
133        {'left': 0},
134        that.options.duration, 'linear',
135        function() {
136          $(this).addClass('active');
137          if($('html').hasClass('android') || $('html').hasClass('desktop')) {
138            body
139              .addClass('pin-body')
140              .css('top', -offsetWin);
141          }
142          if($('html').hasClass('ios')) {
143            that.resize();
144          }
145          that.isRun = false;
146          that.isShow = true;
147        }
148      );
149    },
150
151    hideMenu: function() {
152      var that = this;
153      that.isRun = true;
154
155      that.vars.mainMenu.removeClass('active').animate(
156        {'left': '100%'},
157        that.options.duration, 'linear',
158        function() {
159          if($('html').hasClass('ios')) {
160            that.vars.container.removeAttr('style');
161          }
162          that.vars.mainMenu.removeAttr('style');
163          body
164            .removeClass('pin-body')
165            .removeAttr('style');
166          win.scrollTop(offsetWin);
167          that.isRun = false;
168          that.isShow = false;
169        }
170      );
171    },
172
173    resize: function() {
174      var that = this;
175
176      that.vars.container
177        .height(win.height() + offsetWin)
178        .css('margin-top', -offsetWin);
179    },
180
181    destroy: function() {
182      $.removeData(this.element[0], pluginName);
183    }
184  };
185
186  $.fn[pluginName] = function(options, params) {
187    return this.each(function() {
188      var instance = $.data(this, pluginName);
189      if (!instance) {
190        $.data(this, pluginName, new Plugin(this, options));
191      } else if (instance[options]) {
192        instance[options](params);
193      }
194    });
195  };
196
197  $.fn[pluginName].defaults = {
198    mainMenu: '.main-menu',
199    container: '.container',
200    duration: 500
201  };
202
203  $(function() {
204    $('[data-' + pluginName + ']')[pluginName]();
205  });
206
207}(jQuery, window));
208/*===== Scroll header =====*/
209;(function($, window, undefined) {
210  'use strict';
211
212  var pluginName = 'scroll-header',
213      win = $(window);
214
215  function Plugin(element, options) {
216    this.element = $(element);
217    this.options = $.extend({}, $.fn[pluginName].defaults, this.element.data(), options);
218    this.init();
219  }
220
221  Plugin.prototype = {
222    init: function() {
223      var header = $('header:not(.header-contact)');
224
225      win.on('scroll.' + pluginName, function() {
226        if($(this).scrollTop() >= header.innerHeight()) {
227          header.addClass('fixed-header');
228        }
229        else if($(this).scrollTop() === 0 && $('.main-menu').hasClass('active')) {
230          header.addClass('fixed-header');
231        }
232        else {
233          header.removeClass('fixed-header');
234        }
235
236        if(win.width() > 767) {
237          if(win.scrollLeft() > 0) {
238            header.css('left', -win.scrollLeft());
239          }
240          else {
241            header.css('left', 0).removeAttr('style');
242          }
243        }
244        else {
245          header.css('left', 0).removeAttr('style');
246        }
247      });
248
249    },
250
251    destroy: function() {
252      $.removeData(this.element[0], pluginName);
253    }
254  };
255
256  $.fn[pluginName] = function(options, params) {
257    return this.each(function() {
258      var instance = $.data(this, pluginName);
259      if (!instance) {
260        $.data(this, pluginName, new Plugin(this, options));
261      } else if (instance[options]) {
262        instance[options](params);
263      }
264    });
265  };
266
267  $.fn[pluginName].defaults = {
268
269  };
270
271  $(function() {
272    $('[data-' + pluginName + ']')[pluginName]();
273  });
274
275}(jQuery, window));
276
277/*===== Scroll offset =====*/
278;(function($, window, undefined) {
279  'use strict';
280
281  var pluginName = 'scroll-offset';
282
283  function Plugin(element, options) {
284    this.element = $(element);
285    this.options = $.extend({}, $.fn[pluginName].defaults, this.element.data(), options);
286    this.init();
287  }
288
289  Plugin.prototype = {
290    init: function() {
291      var that = this;
292
293      that.forWait = true;
294
295      this.element.on('click.' + pluginName, function(e) {
296        e.preventDefault();
297        that.scrollOffset($(this));
298      });
299    },
300
301    scrollOffset: function(el) {
302      var that = this;
303
304      var itemCurrt = $(el).attr('href');
305      if(itemCurrt.length) {
306        if(that.forWait) {
307          that.forWait = false;
308          $('html, body').animate({
309            scrollTop: $(itemCurrt).offset().top
310          }, that.options.duration, function() {
311            that.forWait = true;
312          });
313        }
314      }
315    },
316
317    destroy: function() {
318      $.removeData(this.element[0], pluginName);
319    }
320  };
321
322  $.fn[pluginName] = function(options, params) {
323    return this.each(function() {
324      var instance = $.data(this, pluginName);
325      if (!instance) {
326        $.data(this, pluginName, new Plugin(this, options));
327      } else if (instance[options]) {
328        instance[options](params);
329      }
330    });
331  };
332
333  $.fn[pluginName].defaults = {
334    duration: 500
335  };
336
337  $(function() {
338    $('[data-' + pluginName + ']')[pluginName]();
339  });
340
341}(jQuery, window));
342
343/*===== scroll to top =====*/
344;(function($, window, undefined) {
345  'use strict';
346
347  var pluginName = 'scroll-top';
348
349  function Plugin(element, options) {
350    this.element = $(element);
351    this.options = $.extend({}, $.fn[pluginName].defaults, this.element.data(), options);
352    this.init();
353  }
354
355  Plugin.prototype = {
356    init: function() {
357      var el = this.element;
358
359      el.on('click.' + pluginName, function(e) {
360        e.preventDefault();
361        $('html, body').animate({ scrollTop: 0 });
362      });
363
364    },
365
366    destroy: function() {
367      $.removeData(this.element[0], pluginName);
368    }
369  };
370
371  $.fn[pluginName] = function(options, params) {
372    return this.each(function() {
373      var instance = $.data(this, pluginName);
374      if (!instance) {
375        $.data(this, pluginName, new Plugin(this, options));
376      } else if (instance[options]) {
377        instance[options](params);
378      }
379    });
380  };
381
382  $.fn[pluginName].defaults = {
383
384  };
385
386  $(function() {
387    $('[data-' + pluginName + ']')[pluginName]();
388  });
389
390}(jQuery, window));
391
392/*===== Slick slider =====*/
393;(function($, window, undefined) {
394  'use strict';
395
396  var pluginName = 'slick-banner';
397
398  function Plugin(element, options) {
399    this.element = $(element);
400    this.options = $.extend({}, $.fn[pluginName].defaults, this.element.data(), options);
401    this.init();
402  }
403
404  Plugin.prototype = {
405    init: function() {
406
407      this.element.find('.slide-item').css('height', $(window).height());
408
409      var optionSlick = {
410        autoplay: true,
411        infinite: true,
412        useCSS: false,
413        pauseOnHover: false,
414        arrows: false,
415        fade: true,
416        cssEase: 'linear'
417      };
418
419      this.element.slick(optionSlick);
420      $(window).on('resize, load.' + pluginName, function() {
421        $('[data-slick-banner]').find('.slide-item').css('height', $(window).height());
422      });
423
424    },
425
426    destroy: function() {
427      $.removeData(this.element[0], pluginName);
428    }
429  };
430
431  $.fn[pluginName] = function(options, params) {
432    return this.each(function() {
433      var instance = $.data(this, pluginName);
434      if (!instance) {
435        $.data(this, pluginName, new Plugin(this, options));
436      } else if (instance[options]) {
437        instance[options](params);
438      }
439    });
440  };
441
442  $.fn[pluginName].defaults = {
443
444  };
445
446  $(function() {
447    $('[data-' + pluginName + ']')[pluginName]();
448  });
449
450}(jQuery, window));
451
452/*===== Slick slider sm =====*/
453$(window).on('load resize', function () {
454  $('.slick-banner-sm').find('.slide-item').css('height', $(window).height());
455});
456;(function($, window, undefined) {
457  'use strict';
458
459  var pluginName = 'slick-banner-sm';
460
461  function Plugin(element, options) {
462    this.element = $(element);
463    this.options = $.extend({}, $.fn[pluginName].defaults, this.element.data(), options);
464    this.init();
465  }
466
467  Plugin.prototype = {
468    init: function() {
469
470      this.element.find('.slide-item').css('height', $(window).height());
471
472      var optionSlick = {
473        autoplay: true,
474        infinite: true,
475        useCSS: false,
476        pauseOnHover: false,
477        arrows: false,
478        fade: true,
479        cssEase: 'linear'
480      };
481
482      this.element.slick(optionSlick);
483
484    },
485
486    destroy: function() {
487      $.removeData(this.element[0], pluginName);
488    }
489  };
490
491  $.fn[pluginName] = function(options, params) {
492    return this.each(function() {
493      var instance = $.data(this, pluginName);
494      if (!instance) {
495        $.data(this, pluginName, new Plugin(this, options));
496      } else if (instance[options]) {
497        instance[options](params);
498      }
499    });
500  };
501
502  $.fn[pluginName].defaults = {
503
504  };
505
506  $(function() {
507    $('[data-' + pluginName + ']')[pluginName]();
508  });
509
510}(jQuery, window));
511
512
513
514/*===== tab sm =====*/
515;(function($, window, undefined) {
516  'use strict';
517
518  var pluginName = 'tab-nav-sm';
519
520  function Plugin(element, options) {
521    this.element = $(element);
522    this.options = $.extend({}, $.fn[pluginName].defaults, this.element.data(), options);
523    this.init();
524  }
525
526  Plugin.prototype = {
527    init: function() {
528
529      this.element.easytabs({
530        updateHash: false
531      });
532
533    },
534
535    destroy: function() {
536      $.removeData(this.element[0], pluginName);
537    }
538  };
539
540  $.fn[pluginName] = function(options, params) {
541    return this.each(function() {
542      var instance = $.data(this, pluginName);
543      if (!instance) {
544        $.data(this, pluginName, new Plugin(this, options));
545      } else if (instance[options]) {
546        instance[options](params);
547      }
548    });
549  };
550
551  $.fn[pluginName].defaults = {
552  };
553
554  $(function() {
555    $('[data-' + pluginName + ']')[pluginName]();
556  });
557
558}(jQuery, window));
559
560/*===== tab =====*/
561;(function($, window, undefined) {
562  'use strict';
563
564  var pluginName = 'tab-nav';
565
566  function Plugin(element, options) {
567    this.element = $(element);
568    this.options = $.extend({}, $.fn[pluginName].defaults, this.element.data(), options);
569    this.init();
570  }
571
572  Plugin.prototype = {
573    init: function() {
574      if($('html').hasClass('tablet')) {
575        this.element.easytabs({
576          updateHash: false
577        });
578      }
579      else if($('html').hasClass('desktop')) {
580        this.element.find('.list-tab-md li').each(function() {
581          var link = $(this).find('a');
582          link.on('click.' + pluginName, function(e) {
583            e.preventDefault();
584          });
585        });
586
587        this.element.easytabs({
588          updateHash: false,
589          event: 'mouseenter'
590        });
591      }
592
593    },
594
595    destroy: function() {
596      $.removeData(this.element[0], pluginName);
597    }
598  };
599
600  $.fn[pluginName] = function(options, params) {
601    return this.each(function() {
602      var instance = $.data(this, pluginName);
603      if (!instance) {
604        $.data(this, pluginName, new Plugin(this, options));
605      } else if (instance[options]) {
606        instance[options](params);
607      }
608    });
609  };
610
611  $.fn[pluginName].defaults = {
612  };
613
614  $(function() {
615    $('[data-' + pluginName + ']')[pluginName]();
616  });
617
618}(jQuery, window));
619
620var app = app || {};
621
622app.init = function () {
623
624  app.viewport();
625
626};
627
628app.viewport = function() {
629  if (screen.width > 767 && screen.width < 1000 ) {
630		var ww = ( $(window).width() < window.screen.width ) ? $(window).width() : window.screen.width;
631    $('meta[name="viewport"]').attr('content', 'width=1000, initial-scale=' + ww/1000);
632  } else {
633    $('meta[name="viewport"]').attr('content', 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=1.0');
634  }
635}
636
637
638$(function() {
639
640  app.init();
641
vendor: 3 bytes, line 642
642});

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.