1$(document).ready(function () { 2 $("body").addClass("is-load"); 3 modal.init(); 4}); 5 6$(window).scroll(function () { 7 var winH = $(window).height(); 8 $(".js-scroll").each(function () { 9 var elemPos = $(this).offset().top; 10 var scroll = $(window).scrollTop(); 11 if (scroll > elemPos - winH / 1.5) { 12 $(this).addClass("is-scrolled"); 13 } 14 }); 15}); 16 17 18 19window.addEventListener('load', function () { 20 kvSlide.init(); 21}); 22 23const kvSlide = { 24 instance: null, 25 $elm: '.js-kv-slide', 26 config: { 27 speed: 800, 28 slidesPerView: 'auto', 29 centeredSlides: true, 30 loop: true, 31 loopAdditionalSlides: 1, 32 effect: 'fade', 33 fadeEffect: { 34 crossFade: true, 35 }, 36 pagination: { 37 el: '.js-kv-slide-pagination', 38 clickable: true, 39 renderBullet: function (index, className) { 40 let num = index + 1; 41 return '<li class="p-kv__image-pagination-list-item '.concat(className, '">\n <img src="/tv/assets/img/kv_thumb_').concat(String(num).padStart(2, '0'), '.jpg" alt="">\n </li>'); 42 }, 43 }, 44 }, 45 set() { 46 this.instance = new Swiper(this.$elm, this.config); 47 }, 48 init() { 49 this.set(); 50 }, 51}; 52 53 54const modal = { 55 set() { 56 const _template_function_advanced = function (type, data, dataAll, elemOpen, elem) { 57 let _html = 58 '\n <section class="m-modal {{ defaultClassName }}" id="{{ id }}" data-modal-type>\n <div class="m-modal__bg"></div>\n <div class="m-modal__close-btn" data-modal-ui-close></div>\n <div class="m-modal__content">\n {{ content }}\n </div>\n </section>'; 59 60 if (type === 'youtube') { 61 _html = 62 '\n <section class="m-modal {{ defaultClassName }}" id="{{ id }}" data-modal-type>\n <div class="m-modal__bg --youtube"></div>\n <div class="m-modal__close-btn" data-modal-ui-close></div>\n <div class="m-modal__content">\n {{ content }}\n </div>\n </section>'; 63 } 64 return _html; 65 }; 66 67 new MODAL_MODULE({ 68 defaultClassName: 'm-modal-custom', 69 customModalHtml: _template_function_advanced, 70 }); 71 }, 72 init() { 73 this.set(); 74 }, 75}; 76 77 78$(function () { 79 $(".Slide").slick({ 80 arrows: false, 81 dots: true, 82 autoplay: true, 83 autoplaySpeed: 10000, 84 speed: 1000, 85 fade: true, 86 }) 87}); 88 89 90// menu 91$(function () { 92 $('.l-nav_btn, .l-nav__bg, .menu_item>a').on('click', function (e) { 93 if ($('.l-nav_btn__inner, .l-nav__bg').hasClass('nav_open')) { 94 $('.l-nav_btn__inner, .l-nav__bg').removeClass('nav_open'); 95 $('.l-nav').fadeOut(300); 96 } else { 97 $('.l-nav_btn__inner, .l-nav__bg').addClass('nav_open'); 98 $('.l-nav').fadeIn(500); 99 } 100 101 var href = $(this).attr('href'); 102 if (href && href.startsWith('#') && $(href).length) { 103 e.preventDefault(); 104 105 var targetOffset = $(href).offset().top - 30; 106 107 $('html, body').animate({ 108 scrollTop: targetOffset 109 }, 500); 110 111 history.pushState(null, null, href); 112 } 113 }); 114});
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.