| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- /**
- * Main - Front Pages
- */
- 'use strict';
-
- (function () {
- const nav = document.querySelector('.layout-navbar'),
- heroAnimation = document.getElementById('hero-animation'),
- animationImg = document.querySelectorAll('.hero-dashboard-img'),
- animationElements = document.querySelectorAll('.hero-elements-img'),
- swiperLogos = document.getElementById('swiper-clients-logos'),
- swiperReviews = document.getElementById('swiper-reviews'),
- ReviewsPreviousBtn = document.getElementById('reviews-previous-btn'),
- ReviewsNextBtn = document.getElementById('reviews-next-btn'),
- ReviewsSliderPrev = document.querySelector('.swiper-button-prev'),
- ReviewsSliderNext = document.querySelector('.swiper-button-next'),
- priceDurationToggler = document.querySelector('.price-duration-toggler'),
- priceMonthlyList = [].slice.call(document.querySelectorAll('.price-monthly')),
- priceYearlyList = [].slice.call(document.querySelectorAll('.price-yearly'));
-
- // Hero
- const mediaQueryXL = '1200';
- const width = screen.width;
- if (width >= mediaQueryXL && heroAnimation) {
- heroAnimation.addEventListener('mousemove', function parallax(e) {
- animationElements.forEach(layer => {
- layer.style.transform = 'translateZ(1rem)';
- });
- animationImg.forEach(layer => {
- let x = (window.innerWidth - e.pageX * 2) / 100;
- let y = (window.innerHeight - e.pageY * 2) / 100;
- layer.style.transform = `perspective(1200px) rotateX(${y}deg) rotateY(${x}deg) scale3d(1, 1, 1)`;
- });
- });
- nav.addEventListener('mousemove', function parallax(e) {
- animationElements.forEach(layer => {
- layer.style.transform = 'translateZ(1rem)';
- });
- animationImg.forEach(layer => {
- let x = (window.innerWidth - e.pageX * 2) / 100;
- let y = (window.innerHeight - e.pageY * 2) / 100;
- layer.style.transform = `perspective(1200px) rotateX(${y}deg) rotateY(${x}deg) scale3d(1, 1, 1)`;
- });
- });
-
- heroAnimation.addEventListener('mouseout', function () {
- animationElements.forEach(layer => {
- layer.style.transform = 'translateZ(0)';
- });
- animationImg.forEach(layer => {
- layer.style.transform = 'perspective(1200px) scale(1) rotateX(0) rotateY(0)';
- });
- });
- }
-
- // swiper carousel
- // Customers reviews
- // -----------------------------------
- if (swiperReviews) {
- new Swiper(swiperReviews, {
- slidesPerView: 1,
- spaceBetween: 5,
- grabCursor: true,
- autoplay: {
- delay: 3000,
- disableOnInteraction: false
- },
- loop: true,
- loopAdditionalSlides: 1,
- navigation: {
- nextEl: '.swiper-button-next',
- prevEl: '.swiper-button-prev'
- },
- breakpoints: {
- 1200: {
- slidesPerView: 3,
- spaceBetween: 26
- },
- 992: {
- slidesPerView: 2,
- spaceBetween: 20
- }
- }
- });
- }
-
- // Reviews slider next and previous
- // -----------------------------------
- // Add click event listener to next button
- ReviewsNextBtn.addEventListener('click', function () {
- ReviewsSliderNext.click();
- });
- ReviewsPreviousBtn.addEventListener('click', function () {
- ReviewsSliderPrev.click();
- });
-
- // Review client logo
- // -----------------------------------
- if (swiperLogos) {
- new Swiper(swiperLogos, {
- slidesPerView: 2,
- autoplay: {
- delay: 3000,
- disableOnInteraction: false
- },
- breakpoints: {
- 992: {
- slidesPerView: 5
- },
- 768: {
- slidesPerView: 3
- }
- }
- });
- }
-
- // Pricing Plans
- // -----------------------------------
- document.addEventListener('DOMContentLoaded', function (event) {
- function togglePrice() {
- if (priceDurationToggler.checked) {
- // If checked
- priceYearlyList.map(function (yearEl) {
- yearEl.classList.remove('d-none');
- });
- priceMonthlyList.map(function (monthEl) {
- monthEl.classList.add('d-none');
- });
- } else {
- // If not checked
- priceYearlyList.map(function (yearEl) {
- yearEl.classList.add('d-none');
- });
- priceMonthlyList.map(function (monthEl) {
- monthEl.classList.remove('d-none');
- });
- }
- }
- // togglePrice Event Listener
- togglePrice();
-
- priceDurationToggler.onchange = function () {
- togglePrice();
- };
- });
- })();
|