View file js/script.js

File size: 8.58Kb
document.addEventListener("DOMSubtreeModified",function(){var lazyloadImages;if("IntersectionObserver" in window){lazyloadImages=document.querySelectorAll(".lazy");var imageObserver=new IntersectionObserver(function(entries,observer){entries.forEach(function(entry){if(entry.isIntersecting){var image=entry.target;image.classList.remove("lazy");imageObserver.unobserve(image)}})});lazyloadImages.forEach(function(image){imageObserver.observe(image)})}else{var lazyloadThrottleTimeout;lazyloadImages=document.querySelectorAll(".lazy");function lazyload(){if(lazyloadThrottleTimeout){clearTimeout(lazyloadThrottleTimeout)};lazyloadThrottleTimeout=setTimeout(function(){var scrollTop=window.pageYOffset;lazyloadImages.forEach(function(img){if(img.offsetTop<(window.innerHeight+scrollTop)){img.src=img.dataset.src;img.classList.remove('lazy')}});if(lazyloadImages.length==0){document.removeEventListener("scroll",lazyload);window.removeEventListener("resize",lazyload);window.removeEventListener("orientationChange",lazyload)}},20)};document.addEventListener("scroll",lazyload);window.addEventListener("resize",lazyload);window.addEventListener("orientationChange",lazyload)}});document.addEventListener('DOMSubtreeModified',function(){var lazyImages=[].slice.call(document.querySelectorAll('img.lazy'));if('IntersectionObserver' in window){let lazyImageObserver=new IntersectionObserver(function(entries,observer){entries.forEach(function(entry){if(entry.isIntersecting){let lazyImage=entry.target;lazyImage.srcset=lazyImage.dataset.srcset;lazyImage.removeAttribute('class');lazyImageObserver.unobserve(lazyImage)}})});lazyImages.forEach(function(lazyImage){lazyImageObserver.observe(lazyImage)})}});window.addEventListener("DOMContentLoaded",function(){[].forEach.call(document.querySelectorAll('input[type=tel]'),function(input){var keyCode;function mask(event){event.keyCode&&(keyCode=event.keyCode);var pos=this.selectionStart;if(pos<3)event.preventDefault();var matrix="+7(___)___-__-__",i=0,def=matrix.replace(/\D/g,""),val=this.value.replace(/\D/g,""),new_value=matrix.replace(/[_\d]/g,function(a){return i<val.length?val.charAt(i++)||def.charAt(i):a});i=new_value.indexOf("_");if(i!=-1){i<5&&(i=3);new_value=new_value.slice(0,i)};var reg=matrix.substr(0,this.value.length).replace(/_+/g,function(a){return "\\d{1,"+a.length+"}"}).replace(/[+()]/g,"\\$&");reg=new RegExp("^"+reg+"$");if(!reg.test(this.value)||this.value.length<5||keyCode>47&&keyCode<58)this.value=new_value;if(event.type=="blur"&&this.value.length<5)this.value=""};input.addEventListener("input",mask,!1);input.addEventListener("focus",mask,!1);input.addEventListener("blur",mask,!1);input.addEventListener("keydown",mask,!1)})});function showMenu(){document.querySelector('header nav').classList.toggle('show');return!1};document.querySelectorAll('header nav a').forEach(item=>{item.addEventListener('click',event=>{document.querySelector('header nav').classList.remove('show')})});const inContent='<div class=swiper>\<div class="swiper-wrapper">\<div class="swiper-slide"><figure><img class=lazy src="images/nissan-x-trail-2013.webp" data-srcset="images/skoda-octavia-2011_1.webp" srcset=images/placeholder.svg alt="Nissan X-Trail 2013" title="Nissan X-Trail 2013"/><figcaption>Москва</figcaption></figure>\<p>Nissan X-Trail 2013</p>\<div>\<p>1 285 000 ₽<font>1 365 000 ₽</font></p>\<p>28 279 ₽/мес</p>\</div>\<p>198 493 км/2.5 л/Вариатор/Полный</p>\<span class=guarantee>Гарантия</span><span class=favorite>Предложение недели</span><span class=cashback>Кэшбэк</span>\</div>\<div class="swiper-slide"><figure><img class=lazy src="images/ssang-yong-actyon-2014_1.webp" data-srcset="images/skoda-octavia-2011_1.webp" srcset=images/placeholder.svg alt="SsangYong Actyon 2014" title="SsangYong Actyon 2014"/><figcaption>Москва</figcaption></figure>\<p>SsangYong Actyon 2014</p>\<div>\<p>1 180 000 ₽<font class=hidden>&nbsp;</font></p>\<p>28 279 ₽/мес</p>\</div>\<p>101 052 км/2.5 л/Вариатор/Полный</p>\<span class=guarantee>Гарантия</span><span class=favorite>Предложение недели</span><span class=cashback>Кэшбэк</span>\</div>\<div class="swiper-slide"><figure><img class=lazy src="images/skoda-octavia-2011_1.webp" data-srcset="images/skoda-octavia-2011_1.webp" srcset=images/placeholder.svg alt="Skoda Octavia 2011" title="Skoda Octavia 2011"/><figcaption>Москва</figcaption></figure>\<p>Skoda Octavia 2011</p>\<div>\<p>830 000 ₽<font>840 000 ₽</font></p>\<p>28 279 ₽/мес</p>\</div>\<p>69 259 км/1.6 л/Механика/Передний</p>\<span class=guarantee>Гарантия</span><span class=favorite>Предложение недели</span><span class=cashback>Кэшбэк</span>\</div>\</div>\<div class="swiper-button-prev"></div>\<div class="swiper-pagination"></div>\<div class="swiper-button-next"></div>\</div>';const reviewsContent='<div class=swiper>\<div class="swiper-wrapper">\<div class="swiper-slide">\<p>Иван</p>\<div><img src=images/icon/star.svg alt=Рейтинг title=Рейтинг/><img src=images/icon/star.svg alt=Рейтинг title=Рейтинг/><img src=images/icon/star.svg alt=Рейтинг title=Рейтинг/><img src=images/icon/star.svg alt=Рейтинг title=Рейтинг/><img src=images/icon/star.svg alt=Рейтинг title=Рейтинг/></div>\<p>Great Wall Hover H3 2013,Краснодар</p>\<time>30.10.2021</time>\<p>Отличный автосалон,рассказывают абсолютно все об автомобиле,ни чего не скрывают.Рекомендую!</p>\</div>\<div class="swiper-slide">\<p>Андрей</p>\<div><img src=images/icon/star.svg alt=Рейтинг title=Рейтинг/><img src=images/icon/star.svg alt=Рейтинг title=Рейтинг/><img src=images/icon/star.svg alt=Рейтинг title=Рейтинг/><img src=images/icon/star.svg alt=Рейтинг title=Рейтинг/><img src=images/icon/star.svg alt=Рейтинг title=Рейтинг/></div>\<p>Hyundai Solaris 2015,Ростов-на-Дону</p>\<time>16.10.2021</time>\<p>Приезжал посмотреть один автомобиль,а купил другой.Очень понравилось отношение менеджера Вадима.Предложил несколько автомобилей,подходящий под мои интересы.Я выбрал автомобиль из Краснодара,он связался с менеджерами в Краснодаре.</p>\</div>\<div class="swiper-slide">\<p>Константин</p>\<div><img src=images/icon/star.svg alt=Рейтинг title=Рейтинг/><img src=images/icon/star.svg alt=Рейтинг title=Рейтинг/><img src=images/icon/star.svg alt=Рейтинг title=Рейтинг/><img src=images/icon/star.svg alt=Рейтинг title=Рейтинг/><img src=images/icon/star.svg alt=Рейтинг title=Рейтинг/></div>\<p>Kia Rio 2014,Краснодар</p>\<time>29.09.2021</time>\<p>Договорились об осмотре автомобиля,нас встретил Стас,все рассказал,отзывчивый хороший парень,ходил с нами весь день выбирал,грамотно оформил документы.Автомобиль понравился,все закончилось покупкой автомобиля.</p>\</div>\</div>\<div class="swiper-button-prev"></div>\<div class="swiper-pagination"></div>\<div class="swiper-button-next"></div>\</div>';document.querySelector('#in>div').innerHTML=inContent;document.querySelector('#reviews>div').innerHTML=reviewsContent;document.addEventListener('DOMContentLoaded',()=>{const width=window.innerWidth;if(width>768){const swiper=new Swiper('.swiper',{loop:!0,slidesPerView:3,spaceBetween:30,pagination:{el:'.swiper-pagination',},navigation:{nextEl:'.swiper-button-next',prevEl:'.swiper-button-prev',},})}});window.addEventListener('resize',()=>{const width=window.innerWidth;if(width>768){const swiper=new Swiper('.swiper',{loop:!0,slidesPerView:3,spaceBetween:30,pagination:{el:'.swiper-pagination',},navigation:{nextEl:'.swiper-button-next',prevEl:'.swiper-button-prev',},})}else{document.querySelector('#in>div').innerHTML=inContent;document.querySelector('#reviews>div').innerHTML=reviewsContent}})
const anchors = document.querySelectorAll('a[href*="#"]')

for (let anchor of anchors) {
  anchor.addEventListener('click', function (e) {
    e.preventDefault()
    
    const blockID = anchor.getAttribute('href').substr(1)
    
    document.getElementById(blockID).scrollIntoView({
      behavior: 'smooth',
      block: 'start'
    })
  })
}