0byt3m1n1
Path:
/
var
/
www
/
clients
/
client38
/
web37
/
web
/
wp-content
/
themes
/
Impreza
/
common
/
js
/
base
/
[
Home
]
File: scroll.min.js
!function($){"use strict";function USScroll(options){var defaults={attachOnInit:'\ .menu-item a[href*="#"],\ .menu-item[href*="#"],\ a.w-btn[href*="#"]:not([onclick]),\ .w-text a[href*="#"],\ .vc_icon_element a[href*="#"],\ .vc_custom_heading a[href*="#"],\ a.w-grid-item-anchor[href*="#"],\ .w-toplink,\ .w-image a[href*="#"]:not([onclick]),\ .w-iconbox a[href*="#"],\ .w-comments-title a[href*="#"],\ a.smooth-scroll[href*="#"]',buttonActiveClass:'active',menuItemActiveClass:'current-menu-item',menuItemAncestorActiveClass:'current-menu-ancestor',animationDuration:$us.canvasOptions.scrollDuration,animationEasing:$us.getAnimationName('easeInOutExpo'),endAnimationEasing:$us.getAnimationName('easeOutExpo')};this.options=$.extend({},defaults,options||{});this.blocks={};this.isScrolling=!1;this._events={cancel:this.cancel.bind(this),scroll:this.scroll.bind(this),resize:this.resize.bind(this)};this._canvasTopOffset=0;$us.$window.on('resize load',$us.debounce(this._events.resize,10));$us.timeout(this._events.resize,75);$us.$window.on('scroll',this._events.scroll);$us.timeout(this._events.scroll,75);if(this.options.attachOnInit){this.attach(this.options.attachOnInit)} $us.$canvas.on('contentChange',this._countAllPositions.bind(this));if(document.location.hash&&document.location.hash.indexOf('#!')==-1){var hash=document.location.hash,scrollPlace=(this.blocks[hash]!==undefined)?hash:undefined;if(scrollPlace===undefined){try{var $target=$(hash);if($target.length!=0){scrollPlace=$target}} catch(error){}} if(scrollPlace!==undefined){var keepScrollPositionTimer=setInterval(function(){this.scrollTo(scrollPlace);if(document.readyState!=='loading'){clearInterval(keepScrollPositionTimer)}}.bind(this),100);var clearHashEvents=function(){$us.$window.off('load touchstart mousewheel DOMMouseScroll touchstart',clearHashEvents);$us.timeout(function(){$us.canvas._events.resize.call($us.canvas);this._countAllPositions();if($us.hasOwnProperty('waypoints')){$us.waypoints._countAll()} this.scrollTo(scrollPlace)}.bind(this),100)}.bind(this);$us.$window.on('load touchstart mousewheel DOMMouseScroll touchstart',clearHashEvents)}} this.headerHeight=0;this._hasHeaderTransitionEnd=!1;$us.header.on('transitionEnd',function(header){this.headerHeight=header.getCurrentHeight()-header.getAdminBarHeight();this._hasHeaderTransitionEnd=!0}.bind(this));this.animationOptions={duration:this.options.animationDuration,easing:this.options.animationEasing,start:function(){this.isScrolling=!0}.bind(this),complete:function(){this.cancel.call(this)}.bind(this),}} USScroll.prototype={_countPosition:function(hash){var $target=this.blocks[hash].target,targetTop=$target.offset().top,state=$us.$body.usMod('state');this.blocks[hash].top=Math.ceil(targetTop-this._canvasTopOffset)},_countAllPositions:function(){this._canvasTopOffset=$us.$canvas.offset().top;for(var hash in this.blocks){if(this.blocks[hash]){this._countPosition(hash)}}},_indicatePosition:function(activeHash){for(var hash in this.blocks){if(!this.blocks[hash]){continue} var block=this.blocks[hash];if(block.buttons!==undefined){block.buttons.toggleClass(this.options.buttonActiveClass,hash===activeHash)} if(block.menuItems!==undefined){block.menuItems.toggleClass(this.options.menuItemActiveClass,hash===activeHash)} if(block.menuAncestors!==undefined){block.menuAncestors.removeClass(this.options.menuItemAncestorActiveClass)}} if(this.blocks[activeHash]!==undefined&&this.blocks[activeHash].menuAncestors!==undefined){this.blocks[activeHash].menuAncestors.addClass(this.options.menuItemAncestorActiveClass)}},attach:function(anchors){var pathname=decodeURIComponent(location.pathname),locationPattern=new RegExp('^'+pathname.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")+'#');var $anchors=$(anchors);if($anchors.length==0){return} $anchors.each(function(index,anchor){var $anchor=$(anchor),href=$anchor.attr('href'),hash=$anchor.prop('hash');if(hash.indexOf('#!')!=-1){return} if(!(href.charAt(0)=='#'||(href.charAt(0)=='/'&&locationPattern.test(href))||href.indexOf(location.host+pathname+'#')>-1)){return} if(hash!=''&&hash!='#'){if(this.blocks[hash]===undefined){var $target=$(hash),$type='';if($target.length==0){return} if($target.hasClass('g-cols')&&$target.parent().children().length==1){$target=$target.closest('.l-section')} if($target.hasClass('w-tabs-section')){var $newTarget=$target.closest('.w-tabs');if(!$newTarget.hasClass('accordion')){$target=$newTarget} $type='tab'}else if($target.hasClass('w-tabs')){$type='tabs'} this.blocks[hash]={target:$target,type:$type};this._countPosition(hash)} if($anchor.parent().length>0&&$anchor.parent().hasClass('menu-item')){var $menuIndicator=$anchor.closest('.menu-item');this.blocks[hash].menuItems=(this.blocks[hash].menuItems||$()).add($menuIndicator);var $menuAncestors=$menuIndicator.parents('.menu-item-has-children');if($menuAncestors.length>0){this.blocks[hash].menuAncestors=(this.blocks[hash].menuAncestors||$()).add($menuAncestors)}}else{this.blocks[hash].buttons=(this.blocks[hash].buttons||$()).add($anchor)}} $anchor.on('click',function(event){event.preventDefault();this.scrollTo(hash,!0);if(typeof this.blocks[hash]!=='undefined'){var block=this.blocks[hash];if($.inArray(block.type,['tab','tabs'])!==-1){var $linkedSection=block.target.find('.w-tabs-section[id="'+hash.substr(1)+'"]');if(block.type==='tabs'){$linkedSection=block.target.find('.w-tabs-section:first')}else if(block.target.hasClass('w-tabs-section')){$linkedSection=block.target} if($linkedSection.length){$linkedSection.find('.w-tabs-section-header').trigger('click')}}else if(block.menuItems!==undefined&&$.inArray($us.$body.usMod('state'),['mobiles','tablets'])!==-1&&$us.$body.hasClass('header-show')){$us.$body.removeClass('header-show')}}}.bind(this))}.bind(this))},getPlacePosition:function(place){var data={newY:0,type:''};if(place===''||place==='#'){data.newY=0;data.placeType='top'} else if(this.blocks[place]!==undefined){this._countPosition(place);data.newY=this.blocks[place].top;data.placeType='hash';place=this.blocks[place].target}else if(place instanceof $){if(place.hasClass('w-tabs-section')){var newPlace=place.closest('.w-tabs');if(!newPlace.hasClass('accordion')){place=newPlace}} data.newY=Math.ceil(place.offset().top-this._canvasTopOffset);data.placeType='element'}else{data.newY=Math.ceil(place-this._canvasTopOffset)} if($us.header.isHorizontal()&&$us.canvas.hasStickySection()){data.newY-=$us.canvas.getHeightStickySection()} return data},scrollTo:function(place,animate){if($(place).closest('.w-popup-wrap').length){this.scrollToPopupContent(place);return!0} var offset=this.getPlacePosition.call(this,place),indicateActive=function(){if(offset.type==='hash'){this._indicatePosition(place)}else{this.scroll()}}.bind(this);if(animate){if(navigator.userAgent.match(/iPad/i)!=null&&$('.us_iframe').length&&offset.type=='hash'){$(place)[0].scrollIntoView({behavior:"smooth",block:"start"})} var scrollTop=$us.$window.scrollTop(),scrollDirections=scrollTop<offset.newY?'down':'up';if(scrollTop===offset.newY){return} if(!this.isScrolling&&$us.header.isHorizontal()&&!this._hasHeaderTransitionEnd){$us.header.trigger('transitionEnd');this._hasHeaderTransitionEnd=!0} var animateOptions=$.extend({},this.animationOptions,{always:function(){this.isScrolling=!1;indicateActive()}.bind(this)});animateOptions.step=function(now,fx){var newY=this.getPlacePosition(place).newY;if($us.header.isHorizontal()&&$us.header.isStickyEnabled()){newY-=this.headerHeight} if(fx.end!==newY){$us.$htmlBody.stop(!0,!1).animate({scrollTop:newY+'px'},$.extend({},animateOptions,{easing:this.options.endAnimationEasing}))}}.bind(this);$us.$htmlBody.stop(!0,!1).animate({scrollTop:offset.newY+'px'},animateOptions);$us.$window.on('keydown mousewheel DOMMouseScroll touchstart',this._events.cancel)}else{if($us.header.isStickyEnabled()&&$us.header.isHorizontal()){$us.header.trigger('transitionEnd');offset.newY-=this.headerHeight} $us.$htmlBody.stop(!0,!1).scrollTop(offset.newY);indicateActive()}},scrollToPopupContent:function(place){var id=place.replace('#',''),elm=document.getElementById(id);var animateOptions=$.extend({},this.animationOptions,{always:function(){this.isScrolling=!1}.bind(this),});$(elm).closest('.w-popup-wrap').stop(!0,!1).animate({scrollTop:elm.offsetTop+'px'},animateOptions);$us.$window.on('keydown mousewheel DOMMouseScroll touchstart',this._events.cancel)},cancel:function(){$us.$htmlBody.stop(!0,!1);$us.$window.off('keydown mousewheel DOMMouseScroll touchstart',this._events.cancel);this.isScrolling=!1},scroll:function(){var scrollTop=$us.header.getScrollTop();scrollTop=(scrollTop>=0)?scrollTop:0;if(!this.isScrolling){var activeHash;for(var hash in this.blocks){if(!this.blocks[hash]){continue} var top=this.blocks[hash].top,$target=this.blocks[hash].target;if(!$us.header.isHorizontal()){top-=$us.header.getAdminBarHeight()}else{if($us.header.isStickyEnabled()){top-=this.headerHeight} if($us.canvas.hasStickySection()){top-=$us.canvas.getHeightStickySection()}} top=parseInt(top.toFixed(0));if(scrollTop>=top&&scrollTop<=(top+$target.outerHeight(!1))){activeHash=hash}} $us.debounce(this._indicatePosition.bind(this,activeHash),1)()}},resize:function(){$us.timeout(function(){this._countAllPositions();this.scroll()}.bind(this),150);this._countAllPositions();this.scroll()}};$(function(){$us.scroll=new USScroll($us.scrollOptions||{})})}(jQuery)