-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript-min.js
1 lines (1 loc) · 3.81 KB
/
script-min.js
1
function init(){var e=new ymaps.Map("contacts__map",{center:[55.76953456898229,37.63998549999998],zoom:15}),t=new ymaps.Placemark([55.76953456898229,37.63998549999998],{},{iconLayout:"default#image",iconImageHref:"../img/location.svg",iconImageSize:[12,12]});e.geoObjects.add(t)}ymaps.ready(init);const searchField=document.querySelector(".nav__search-field"),searchInput=document.querySelector(".nav__search-input"),searchBtn=document.querySelector(".nav__search"),closeBtn=document.querySelector(".nav__search-close");function closeSearchInput(){closeBtn.addEventListener("click",e=>{e.preventDefault(),searchField.style.transform="translate(600px)",searchField.firstChild.value="",searchInput.tabIndex="-1",closeBtn.tabIndex="-1",searchBtn.tabIndex="0"})}searchBtn.addEventListener("click",e=>{e.preventDefault(),searchField.style.transform="translate(0px)",searchInput.tabIndex="0",closeBtn.tabIndex="0",searchBtn.tabIndex="-1"}),closeSearchInput();const form=document.querySelector(".about__subscription-form"),input=document.querySelector(".about__subscription-input"),error=document.querySelector(".about__subscription-error"),contactsForm=document.querySelector(".contacts__form"),contactsInputEmail=document.querySelector(".contacts__form-input-email"),contactsErrorEmail=document.querySelector(".contacts__form-email-error"),contactsInputName=document.querySelector(".contacts__form-input-name"),contactsErrorName=document.querySelector(".contacts__form-name-error");function mailValidation(e,t,n){const r=/^(([^<>()[\].,;:\s@"]+(\.[^<>()[\].,;:\s@"]+)*)|(".+"))@(([^<>()[\].,;:\s@"]+\.)+[^<>()[\].,;:\s@"]{2,})$/iu;e.addEventListener("submit",e=>{if(r.test(t.value))return t.style.borderColor="transparent",void(n.style.display="none");e.preventDefault(),t.style.borderColor="rgba(240, 102, 102, 1)",n.style.display="block"}),t.addEventListener("input",()=>{t.style.borderColor="transparent",n.style.display="none"})}function cyrillicValidation(e,t,n){const r=/^[А-ЯЁа-яё]*$/;e.addEventListener("submit",e=>{if(r.test(t.value)&&t.value)return t.style.borderColor="transparent",void(n.style.display="none");e.preventDefault(),t.style.borderColor="rgba(240, 102, 102, 1)",n.style.display="block"}),t.addEventListener("input",()=>{t.style.borderColor="transparent",n.style.display="none"})}mailValidation(form,input,error),mailValidation(contactsForm,contactsInputEmail,contactsErrorEmail),cyrillicValidation(contactsForm,contactsInputName,contactsErrorName);const burger=document.querySelector(".header__burger");window.addEventListener("resize",()=>{tl.reverse(),window.innerWidth>630?burger.style.display="none":burger.style.display="block"}),gsap.timeline();let tl=gsap.timeline({paused:!0});function createMapBtn(){const e=document.querySelector(".contacts__location"),t=document.createElement("button");return t.className="map__button",t.textContent="Открыть адрес",e.append(t),t}function sideMapMenu(){const e=document.querySelector(".contacts__location"),t=createMapBtn();t.addEventListener("click",()=>{e.nextSibling.style.transform="translate(0px, 0px)",t.style.visibility="hidden",t.style.opacity="0"}),e.nextSibling.firstChild.addEventListener("click",()=>{window.innerWidth>1024?(e.nextSibling.style.transform="translate(-500px)",t.style.visibility="visible",t.style.opacity="1"):(e.nextSibling.style.transform="translate(0px, 300px)",t.style.visibility="visible",t.style.opacity="1")})}tl.to(".body",{duration:0,overflowY:"hidden",ease:"none"}).to(".header__burger",{duration:0,display:"none",overflow:"hidden",ease:"none"}).to(".burger",{duration:0,display:"block",overflow:"hidden",ease:"none"}).fromTo(".burger",{x:-80,opacity:0},{duration:.3,x:0,opacity:1}),document.querySelector(".header__burger-button").addEventListener("click",function(){tl.play()}),document.querySelector(".burger__button").addEventListener("click",function(){tl.reverse()}),sideMapMenu();