1jQuery(document).ready(function ($) { 2 // ÐÐЯ ÐТÐРЫТÐЯ ÐÐÐÐÐÐÐ 3 function openModalOrMenu(trigger, targetSelector) { 4 $(trigger).addClass('active'); 5 $('body').css('overflow-y', 'hidden'); 6 $(targetSelector).on('click', function (e) { 7 if (e.target === this) { 8 $(this).removeClass('active'); 9 $('body').css('overflow-y', 'initial'); 10 } 11 }); 12 } 13 14 // ÐÐЯ ÐÐÐРЫТÐЯ ÐÐÐÐÐÐÐ, ÐÐÐÐÐ ÐÐ ÐÐÐÐÐÐÐÐ ÐÐ ÐÐ ÐÐÐÐЫ ÐÐÐÐÐÐÐ 15 function closeModalOrMenu(trigger) { 16 $(trigger).removeClass('active'); 17 $('body').css('overflow-y', 'initial'); 18 } 19 20 // ÐÐЯ ÐЫÐÐÐ Ð HREF ÐÐЯ ÐÐÐÐÐÐÐ 21 $('a.getModal').on('click', function (e) { 22 e.preventDefault(); 23 let triggerHref = $(this).attr('href'); 24 openModalOrMenu(triggerHref, triggerHref); 25 }); 26 27 28// ÐÐЯ ÐÐÐРЫТÐЯ ÐÐÐÐÐÐÐ 29 $(".modal__close, .btn_close").on("click", function () { 30 closeModalOrMenu($(this).parents(".modal")); 31 }); 32 33 // ÐÐЯ ÐÐÐРЫТÐЯ ÐÐÐÐÐЬÐÐÐÐ ÐÐÐЮ 34 $('.mobile-menu__close, .mobile-menu, .mobile-menu a').on('click', function () { 35 closeModalOrMenu($(this).parents('.mobile-menu')); 36 }); 37 38// toggler ÐÐЯ ÐÐÐÐÐ ÐÐÐÐÐ 39$('.accordion__item').on('click', function (e) { 40 // еÑли клик бÑл по ÑÑÑлке или кнопке â не обÑабаÑÑваем 41 if ($(e.target).closest('a, button').length) { 42 return; 43 } 44 $(this).toggleClass('active'); 45}); 46 47 $('.opening__down').on('click', function (e) { 48 e.preventDefault(); 49 const parentSection = $(this).closest('section'); 50 const nextSection = parentSection.next('section'); 51 if (nextSection.length) { 52 $('html, body').animate({ 53 scrollTop: nextSection.offset().top 54 }, 100); 55 } 56 }); 57 58 $('.events__slider').each(function (index, element) { 59 let mainSlider = new Swiper(element, { 60 effect: 'fade', 61 fadeEffect: { 62 crossFade: true 63 }, 64 loop: true, 65 navigation: { 66 prevEl: $(element).find('.events__arrow--left').get(0), 67 nextEl: $(element).find('.events__arrow--right').get(0), 68 }, 69 }); 70 }); 71 72 $('.cards__view').each(function (index, element) { 73 let mainSlider = new Swiper(element, { 74 effect: 'fade', 75 fadeEffect: { 76 crossFade: true 77 }, 78 loop: true, 79 navigation: { 80 prevEl: $(element).find('.cards__arrow--left').get(0), 81 nextEl: $(element).find('.cards__arrow--right').get(0), 82 }, 83 }); 84 }); 85}); 86 87// ÐÐСÐÐ ÐÐЯ ТÐÐÐФÐÐÐ Ð input[type='tel'] 88let maskedPhones = document.querySelectorAll("input[type='tel']"); 89for (var i = 0; i < maskedPhones.length; i++) { 90 new IMask(maskedPhones[i], { 91 mask: '+{7} (000) 000-00-00', 92 placeholder: { 93 show: 'always' 94 } 95 }); 96} 97 98// ÐÐЯ ÐÐÐРЫТÐЯ ÐÐÐÐÐÐÐ, ÐÐÐÐÐ ÐÐ ÐÐÐÐÐÐÐÐ ÐÐ ÐÐ ÐÐÐÐЫ ÐÐÐÐÐÐÐ - УÐÐÐÐРСÐÐЬÐЫР99let body = document.querySelector('body') 100function closeModal(modalName, reverse = false) { 101 modalName = document.querySelector(modalName) 102 window.addEventListener('click', function (e) { 103 if (reverse) { 104 if (e.target === modalName) { 105 modalName.classList.remove('active') 106 body.style.overflowY = 'initial' 107 108 } 109 } else { 110 if (e.target !== modalName) { 111 modalName.classList.remove('active') 112 body.style.overflowY = 'initial' 113 114 } 115 } 116 117 }) 118} 119closeModal('.mobile-menu', true) 120 121 122function createTab(tabName, contentName, selectName) { 123 tabName = document.querySelectorAll(tabName); 124 contentName = document.querySelectorAll(contentName); 125 const select = document.querySelector(selectName); 126 127 if (select) { 128 let tabsArray = Array.from(tabName); 129 tabsArray.map((tab, tabIndex) => { 130 tab.addEventListener('click', function (e) { 131 e.preventDefault(); 132 for (let tabAll of tabName) tabAll.classList.remove('active'); 133 this.classList.add('active'); 134 135 for (let tabsContents of contentName) tabsContents.classList.remove('active'); 136 contentName[tabIndex].classList.add('active'); 137 select.selectedIndex = tabIndex; 138 }); 139 }); 140 141 select.addEventListener('change', function () { 142 let selectedIndex = this.selectedIndex; 143 144 for (let tabAll of tabName) tabAll.classList.remove('active'); 145 for (let tabsContents of contentName) tabsContents.classList.remove('active'); 146 147 tabName[selectedIndex].classList.add('active'); 148 contentName[selectedIndex].classList.add('active'); 149 }); 150 } 151} 152createTab('.rest .tabs__item', '.rest .tabs__content', '.rest .tabs__select'); 153createTab('.gallery .tabs__item', '.gallery .tabs__content', '.gallery .tabs__select'); 154 155 156// SWIPER ÑлайдеÑÑ 157const welcomeSlider = new Swiper('.welcome__slider', { 158 loop: true, 159 slidesPerView: 1, 160 speed: 1500, 161 autoplay: true, 162 autoplaySpeed: 4000, 163 effect: 'fade', 164 fadeEffect: { 165 crossFade: true 166 }, 167 navigation: { 168 prevEl: ".welcome__arrow--left", 169 nextEl: ".welcome__arrow--right", 170 }, 171 172}); 173 174const offerSlider = new Swiper('.offer__slider', { 175 loop: true, 176 spaceBetween: 25, 177 slidesPerView: 3, 178 navigation: { 179 prevEl: ".arrow--left", 180 nextEl: ".arrow--right", 181 }, 182 breakpoints: { 183 0: { 184 slidesPerView: 1.5, 185 spaceBetween: 10, 186 }, 187 188 620: { 189 spaceBetween: 20, 190 slidesPerView: 2, 191 }, 192 193 1400: { 194 slidesPerView: 3, 195 }, 196 } 197}); 198 199const reviewsSlider = new Swiper('.reviews__slider', { 200 loop: true, 201 spaceBetween: 0, 202 slidesPerView: 3, 203 centeredSlides: true, 204 navigation: { 205 prevEl: ".arrow--left", 206 nextEl: ".arrow--right", 207 }, 208 breakpoints: { 209 0: { 210 slidesPerView: 1.2, 211 spaceBetween: 10, 212 }, 213 214 620: { 215 spaceBetween: 20, 216 slidesPerView: 2.5, 217 }, 218 219 1400: { 220 spaceBetween: 0, 221 slidesPerView: 3, 222 }, 223 } 224}); 225 226let cardsTrigger = new Swiper("#cardMini", { 227 slidesPerView: 5, 228 spaceBetween: 15, 229 freeMode: true, 230 watchSlidesProgress: true, 231 loop: false, 232 breakpoints: { 233 0: { 234 spaceBetween: 10, 235 slidesPerView: 'auto', 236 }, 237 238 620: { 239 slidesPerView: 'auto', 240 }, 241 242 1024: { 243 slidesPerView: 'auto', 244 }, 245 246 1400: { 247 slidesPerView: 5, 248 }, 249 } 250}); 251 252 253let cardsSlider = new Swiper("#cardMain", { 254 effect: 'fade', 255 fadeEffect: { 256 crossFade: true 257 }, 258 loop: false, 259 thumbs: { 260 swiper: cardsTrigger, 261 }, 262 navigation: { 263 prevEl: ".card__arrow--left", 264 nextEl: ".card__arrow--right", 265 }, 266}); 267 268 269document.addEventListener( 270 "wpcf7mailsent", 271 function (response) { 272 document.querySelectorAll(".modal").forEach(function (popup) { 273 popup.classList.remove("active"); 274 }); 275 276 document.getElementById("done").classList.add("active"); 277 }, 278 false 279);
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.