Skip to content

Instantly share code, notes, and snippets.

@peterkarn
Last active November 15, 2021 08:15
Show Gist options
  • Save peterkarn/72a623006b9f82bbf2538ce27ab2afe2 to your computer and use it in GitHub Desktop.
Save peterkarn/72a623006b9f82bbf2538ce27ab2afe2 to your computer and use it in GitHub Desktop.
// //INIT LOGIN FORM
const loginSelector = document.querySelector('.login-form-block');
const loginFormObj = new LoginForm(loginSelector);
new FieldEvents(loginSelector);
// // INIT REGFORM
const regformSelector = document.querySelector(".reg-form.top");
const regform = new Regform(regformSelector, {
hasMultiSteps: true,
pagination: {
exist: true
},
});
// // // INIT REGFORM 2
const regformSelectorSec = document.querySelector(".reg-form.secondary");
const regformSec = new Regform(regformSelectorSec, {
hasMultiSteps: true,
pagination: {
exist: true
},
});
//sticky form toggler
function throttle(fn, wait) {
let time = Date.now();
return function () {
if (time + wait - Date.now() < 0) {
fn();
time = Date.now()
}
}
}
function checkScroll() {
const mainHeight = document.querySelector(".juicylocalgirlsinfo-main-section").clientHeight;
const formToggler = document.querySelector(".juicylocalgirlsinfo-form-toggler");
const scrolled = wrapper.scrollTop;
console.log(scrolled)
scrolled > mainHeight ? formToggler.classList.add("sticky") : formToggler.classList.remove("sticky")
}
const wrapper = document.querySelector('.juicylocalgirlsinfo-wrapper');
if (window.matchMedia("(max-width: 992px)").matches) {
wrapper.addEventListener("scroll", throttle(checkScroll, 300));
}
const togglerBlock = document.querySelector('.juicylocalgirlsinfo-form-toggler');
const togglerBtn = document.querySelector('.juicylocalgirlsinfo-form-toggler .btn');
const sidebar = document.querySelector('.juicylocalgirlsinfo-sidebar');
togglerBtn.addEventListener('click', () => {
wrapper.classList.add('mobile-reg-form-open');
});
sidebar.addEventListener('click', (e) => {
const isFormOpen = document.querySelector('.mobile-reg-form-open');
if (isFormOpen && !e.target.closest('.form-block')) {
isFormOpen.classList.remove('mobile-reg-form-open');
}
})
const openLoginBtns = document.querySelectorAll('.popup-btn');
const closeLoginBtn = document.querySelector('.close-login-form');
const loginWrapper = document.querySelector('.login-form-block');
const overlay = document.querySelector('.overlay');
openLoginBtns.forEach(btn => {
btn.addEventListener('click', e => {
e.preventDefault();
loginSelector.classList.add('is-active');
});
});
closeLoginBtn.addEventListener('click', e => {
e.preventDefault();
loginWrapper.classList.remove('is-active');
});
loginWrapper.addEventListener('click', e => {
if (e.target === e.currentTarget) {
loginWrapper.classList.remove('is-active');
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment