/** * Template Name: Dewi - v2.0.0 * Template URL: https://bootstrapmade.com/dewi-free-multi-purpose-html-template/ * Author: BootstrapMade.com * License: https://bootstrapmade.com/license/ */ !(function($) { "use strict"; // Preloader $(window).on('load', function() { if ($('#preloader').length) { $('#preloader').delay(100).fadeOut('slow', function() { $(this).remove(); }); } }); // Smooth scroll for the navigation menu and links with .scrollto classes $(document).on('click', '.nav-menu a, .mobile-nav a, .scrollto', function(e) { if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) { e.preventDefault(); var target = $(this.hash); if (target.length) { var scrollto = target.offset().top; var scrolled = 16; if ($('#header').length) { scrollto -= $('#header').outerHeight() if (!$('#header').hasClass('header-scrolled')) { scrollto += scrolled; } } if ($(this).attr("href") == '#header') { scrollto = 0; } $('html, body').animate({ scrollTop: scrollto }, 1500, 'easeInOutExpo'); if ($(this).parents('.nav-menu, .mobile-nav').length) { $('.nav-menu .active, .mobile-nav .active').removeClass('active'); $(this).closest('li').addClass('active'); } if ($('body').hasClass('mobile-nav-active')) { $('body').removeClass('mobile-nav-active'); $('.mobile-nav-toggle i').toggleClass('icofont-navigation-menu icofont-close'); $('.mobile-nav-overly').fadeOut(); } return false; } } }); // Mobile Navigation if ($('.nav-menu').length) { var $mobile_nav = $('.nav-menu').clone().prop({ class: 'mobile-nav d-lg-none' }); $('body').append($mobile_nav); $('body').prepend(''); $('body').append('
'); $(document).on('click', '.mobile-nav-toggle', function(e) { $('body').toggleClass('mobile-nav-active'); $('.mobile-nav-toggle i').toggleClass('icofont-navigation-menu icofont-close'); $('.mobile-nav-overly').toggle(); }); $(document).on('click', '.mobile-nav .drop-down > a', function(e) { e.preventDefault(); $(this).next().slideToggle(300); $(this).parent().toggleClass('active'); }); $(document).click(function(e) { var container = $(".mobile-nav, .mobile-nav-toggle"); if (!container.is(e.target) && container.has(e.target).length === 0) { if ($('body').hasClass('mobile-nav-active')) { $('body').removeClass('mobile-nav-active'); $('.mobile-nav-toggle i').toggleClass('icofont-navigation-menu icofont-close'); $('.mobile-nav-overly').fadeOut(); } } }); } else if ($(".mobile-nav, .mobile-nav-toggle").length) { $(".mobile-nav, .mobile-nav-toggle").hide(); } // Navigation active state on scroll var nav_sections = $('section'); var main_nav = $('.nav-menu, #mobile-nav'); $(window).on('scroll', function() { var cur_pos = $(this).scrollTop() + 90; nav_sections.each(function() { var top = $(this).offset().top, bottom = top + $(this).outerHeight(); if (cur_pos >= top && cur_pos <= bottom) { if (cur_pos <= bottom) { main_nav.find('li').removeClass('active'); } main_nav.find('a[href="#' + $(this).attr('id') + '"]').parent('li').addClass('active'); } if (cur_pos < 300) { $(".nav-menu ul:first li:first").addClass('active'); } }); }); // Toggle .header-scrolled class to #header when page is scrolled $(window).scroll(function() { if ($(this).scrollTop() > 100) { $('#header').addClass('header-scrolled'); } else { $('#header').removeClass('header-scrolled'); } }); if ($(window).scrollTop() > 100) { $('#header').addClass('header-scrolled'); } // Back to top button $(window).scroll(function() { if ($(this).scrollTop() > 100) { $('.back-to-top').fadeIn('slow'); } else { $('.back-to-top').fadeOut('slow'); } }); $('.back-to-top').click(function() { $('html, body').animate({ scrollTop: 0 }, 1500, 'easeInOutExpo'); return false; }); // jQuery counterUp $('[data-toggle="counter-up"]').counterUp({ delay: 10, time: 1000 }); // Testimonials carousel (uses the Owl Carousel library) $(".testimonials-carousel").owlCarousel({ autoplay: true, dots: true, loop: true, items: 1 }); // Porfolio isotope and filter $(window).on('load', function() { var portfolioIsotope = $('.portfolio-container').isotope({ itemSelector: '.portfolio-item' }); $('#portfolio-flters li').on('click', function() { $("#portfolio-flters li").removeClass('filter-active'); $(this).addClass('filter-active'); portfolioIsotope.isotope({ filter: $(this).data('filter') }); aos_init(); }); // Initiate venobox (lightbox feature used in portofilo) $(document).ready(function() { $('.venobox').venobox(); }); }); // Portfolio details carousel $(".portfolio-details-carousel").owlCarousel({ autoplay: true, dots: true, loop: true, items: 1 }); // Initi AOS function aos_init() { AOS.init({ duration: 1000, once: true }); } aos_init(); })(jQuery); function solonumeros(e){ key = e.keyCode || e.which; tecla = String.fromCharCode(key).toLowerCase(); letras = "1234567890-"; especiales = [8,37,39,46]; tecla_especial = false for(var i in especiales){ if(key == especiales[i]){ tecla_especial = true; break; } } if(letras.indexOf(tecla)==-1 && !tecla_especial){ return false; } } function soloLetras(e){ key = e.keyCode || e.which; tecla = String.fromCharCode(key).toLowerCase(); letras = "áéíóúabcdefghijklmnñopqrstuvwxyz "; especiales = [8,37,39,46]; tecla_especial = false for(var i in especiales){ if(key == especiales[i]){ tecla_especial = true; break; } } if(letras.indexOf(tecla)==-1 && !tecla_especial){ return false; } } function numerosyletras(e){ key = e.keyCode || e.which; tecla = String.fromCharCode(key).toLowerCase(); letras = "áéíóúabcdefghijklmnñopqrstuvwxyz 1234567890-"; especiales = [8,37,39,46]; tecla_especial = false for(var i in especiales){ if(key == especiales[i]){ tecla_especial = true; break; } } if(letras.indexOf(tecla)==-1 && !tecla_especial){ return false; } } function validar_email( email ){ var regex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; return regex.test(email) ? true : false; } $('.owl-carousel').owlCarousel({ items: 1, loop: true, autoplay: true, autoplayTimeout: 5000, autoplayHoverPause: false, dots: true, nav: false, autoHeight: true // <— importante en móvil }); $(window).on('load orientationchange', function () { $('.owl-carousel').trigger('refresh.owl.carousel'); });