{"version":3,"sources":["scrollToAnimation.js"],"names":["ScrollToAnimation","href","$node","$","length","offset","top","window","on","scrollTop","wH","outerHeight","hasClass","addClass","removeClass","e","currentTarget","position","getPosition","attr","stop","animate","preventDefault","find","_clickMode","$btn","indexOf","readClick","readScroll","readHeaderLinks","readFooterLinks","document","ready","scrollToAnimation"],"mappings":"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","sourcesContent":["/** Clase encargada de la animacion del scrollTop */\r\nclass ScrollToAnimation\r\n{\r\n /**\r\n * Extrae el valor en la cordenada Y del elemento que se desea mostrar\r\n * @param {string} href - valor del href del botón\r\n * @return {number} - devuelve el valor del elemento al que se desea acceder \r\n */\r\n getPosition ( href ) {\r\n if ( href == \"#\" ) {\r\n return 0;\r\n } else {\r\n const $node = $(href);\r\n if ( $node.length >= 1 ) {\r\n return $node.offset().top;\r\n } else {\r\n return 0;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Inicializa la lectura del scroll\r\n * @return {void}\r\n */\r\n readScroll () {\r\n $(window).on('scroll', () => {\r\n const top = $(window).scrollTop();\r\n const wH = $(window).outerHeight();\r\n if ( top >= wH/4 ) {\r\n if ( !$('.go-top').hasClass('in') ) {\r\n $('.go-top').addClass('in').removeClass('out');\r\n }\r\n } else {\r\n if ( !$('.go-top').hasClass('out') ) {\r\n $('.go-top').addClass('out').removeClass('in');\r\n }\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * Hace lectura del evento click del botón\r\n * @return {void}\r\n */\r\n readClick () {\r\n $('.btn-scroll-animation').on('click', (e) => {\r\n const $node = $( e.currentTarget );\r\n const position = this.getPosition( $node.attr('href') );\r\n $('html, body').stop().animate({ scrollTop: position }, 1000);\r\n e.preventDefault();\r\n })\r\n }\r\n\r\n readHeaderLinks () {\r\n if ( $('.scrolltop-main-menu').length >= 1 ) {\r\n $('.main-menu').find('.primary').find('> a').on(this._clickMode, (e) => {\r\n const $btn = $( e.currentTarget );\r\n if ( $btn.attr('href').indexOf('#') != -1 ) {\r\n const position = this.getPosition( $btn.attr('href') );\r\n if ( position != 0 ) {\r\n e.preventDefault();\r\n $('html, body').stop().animate({ scrollTop: position }, 1000);\r\n } \r\n \r\n }\r\n })\r\n }\r\n }\r\n\r\n readFooterLinks () {\r\n if ( $('.scrolltop-main-menu').length >= 1 ) {\r\n $('.footer').find('a').on(this._clickMode, (e) => {\r\n const $btn = $( e.currentTarget );\r\n if ( $btn.attr('href').indexOf('#') != -1 ) {\r\n const position = this.getPosition( $btn.attr('href') );\r\n if ( position != 0 ) {\r\n e.preventDefault();\r\n $('html, body').stop().animate({ scrollTop: position }, 1000);\r\n } \r\n }\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * Constructor de la clase\r\n * @return {void}\r\n */\r\n constructor () {\r\n this._clickMode = $('body').hasClass('is-touch') ? 'touchstart' : 'click';\r\n this.readClick();\r\n this.readScroll();\r\n this.readHeaderLinks();\r\n this.readFooterLinks();\r\n }\r\n}\r\n\r\n\r\n/**\r\n * @description: Animación del scroll top cuando los elementos del menú principal direccionan a elementos dentro del mismo landing\r\n */\r\n// const scrollTopMainMenu = () => {\r\n// if ( $('.scrolltop-main-menu').length >= 1 ) {\r\n// $('.main-menu').find('.primary').find('> a').on('click', (e) => {\r\n// const $btn = $( e.currentTarget )\r\n// const _href = $btn.attr('href');\r\n// if ( _href.indexOf('#') != -1 ) {\r\n// e.preventDefault();\r\n// const _section = $( _href );\r\n// const _top = _section.offset().top;\r\n// $('html, body').stop().animate({ scrollTop: _top }, 1000);\r\n// console.log('top', top);\r\n// }\r\n// })\r\n// }\r\n// }\r\n\r\n\r\n// ----------------------------------------------------------------------\r\n/**\r\n * Definición del document ready de jquery\r\n * @return {void}\r\n */\r\n$(document).ready(function(){\r\n const scrollToAnimation = new ScrollToAnimation();\r\n \r\n})\r\n"],"file":"scrollToAnimation.js"}