/home/bdqbpbxa/demo-subdomains/sendon.goodface.com.ua/layout/js/script.js
$(document).ready(function () {
preloaderHidden()
});
$(window).on('load', function () {
preloaderHidden();
});
function preloaderHidden() {
if (document.readyState === "complete") {
if ($('.preloader').length) {
$('.preloader').addClass('-active');
setTimeout(function () {
unlockScroll();
$('.preloader').fadeOut(300, function () {
$(this).remove();
});
}, 400)
}
}
}
// Services scroller function
function setDefaultServicesOffset() {
if (isPc) {
let servicesContainer = $('.services');
let servicesList = $('.services__items');
let firstEl = servicesList.find('.services__item').eq(0);
let lastEl = servicesList.find('.services__item:last-child');
let menuFirstEl = $('.services__menu').find('.services__menu-item').eq(0);
let menuLastEl = $('.services__menu').find('.services__menu-item:last-child');
let topOffset = (firstEl.innerHeight() - menuFirstEl.innerHeight()) / 2;
let bottomOffset = (lastEl.innerHeight() - menuLastEl.innerHeight()) / 2;
servicesContainer.css('padding', `${topOffset}px 0 ${bottomOffset}px 0`);
}
}
function updateServicesItemsHeight() {
if (isPc) {
let servicesList = $('.services__items');
let el = $('.services__menu-item.-active');
servicesList.css('height', el.innerHeight());
}
}
function animateServicesSection() {
const titles = gsap.utils.toArray('.services__menu-item');
let startPos, endPos;
if (isPc) {
startPos = 'top center';
endPos = 'bottom center';
} else {
startPos = 'top 60%';
endPos = 'bottom center';
}
titles.forEach(title => {
gsap.to(title, {
scrollTrigger: {
invalidateOnRefresh: true,
start: startPos,
end: endPos,
trigger: title,
onUpdate: self => {
let menu = $('.services__menu');
let servicesList = $('.services__items');
let el = $(self.trigger);
let currIndex = el.index();
menu.find('.-active').removeClass('-active');
el.addClass('-active');
servicesList.find('.-active').removeClass('-active');
servicesList.find('.services__item').eq(currIndex).addClass('-active');
updateServicesItemsHeight();
ScrollTrigger.refresh(true);
},
// markers: true,
},
});
});
}
$(window).on('load resize', setDefaultServicesOffset);
$(window).on('load', animateServicesSection);
$(window).on('load', updateServicesItemsHeight);
// Services anchors link
$(document).on('click', '.services__menu-item', function () {
linkScroll($(this), 'center');
})
// Elements that can be clicked or scrolled when page scroll lock
var $scrollableElement = document.querySelectorAll(
'.mobile-menu'
);
// Open/close mobile menu
$(document).on('click', '.burger', function () {
$(this).toggleClass('-active');
$('.mobile-menu').toggleClass('-active');
if ($(this).hasClass('-active')) {
scrollLock.disablePageScroll($scrollableElement);
} else {
scrollLock.enablePageScroll($scrollableElement);
}
})
$(document).on('click', '.default-button.-disabled', function (e) {
preventDefault(e)
})
// Show cta button when we need it
$(window).on('load', function () {
if ($('.cta-button').length) {
let mainHeight = $('main').innerHeight();
let startPosition = $('main').find('section:first-child').innerHeight();
let endPosition = mainHeight - $('main').find('section:last-child').innerHeight();
let scrollContainer = gsap.to(".cta-button", {
x: 0,
ease: "none",
scrollTrigger: {
trigger: "main",
start: `${startPosition} 50%`,
end: `${endPosition}px 50%`,
onUpdate: function (obj) {
if (obj.progress < 1 && obj.progress > 0) {
$('.cta-button').addClass('-active');
} else {
$('.cta-button').removeClass('-active');
}
}
}
});
}
})
function changeVideoToPhoto() {
let video = $('.animation-line-item__circle video');
if (isApple && window.isMobile && video.length) {
video.each(function () {
let container = $(this).closest('.animation-line-item__circle .img');
let imgSrc = container.attr('data-image');
container.html(`
<img src="${imgSrc}">
`);
})
}
}
$(document).ready(function () {
changeVideoToPhoto();
});