Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
1 lines (1 sloc) 46.8 KB
{"version":3,"sources":["jquery.multiscroll.js"],"names":["$","window","document","Math","undefined","fn","multiscroll","options","MS","extend","verticalCentered","scrollingSpeed","easing","menu","sectionsColor","anchors","navigation","navigationPosition","navigationColor","navigationTooltips","loopBottom","loopTop","css3","paddingTop","paddingBottom","fixedElements","normalScrollElements","keyboardScrolling","touchSensitivity","sectionSelector","leftSelector","rightSelector","afterLoad","onLeave","afterRender","afterResize","scrollDelay","isTouchDevice","navigator","userAgent","match","isTouch","msMaxTouchPoints","addClass","nav","resizeId","keydownId","numberSections","find","length","isMoving","windowHeight","height","MSPointer","pointer","PointerEvent","down","move","getMSPointer","events","touchmove","touchstart","hashChangeHandler","sectionAnchor","location","hash","replace","section","lastScrolledDestiny","scrollPage","navClickHandler","e","preventDefault","index","this","parent","eq","navMouseEnterHandler","tooltip","data","hide","appendTo","fadeIn","navMouseLeaveHandler","fadeOut","remove","addMouseWheelHandler","addTouchHandler","has3d","el","createElement","transforms","webkitTransform","OTransform","msTransform","MozTransform","transform","t","body","insertBefore","style","getComputedStyle","getPropertyValue","removeChild","support3d","css","overflow","each","append","width","position","-ms-touch-action","right","top","touch-action","left","element","sectionIndex","attr","wrapInner","getTableHeight","closest","link","html","get","reverse","promise","done","last","first","isFunction","call","silentScroll","setBodyClass","on","keydown","clearTimeout","activeElement","is","keyCode","which","inArray","setTimeout","shiftPressed","shiftKey","moveSectionUp","moveSectionDown","moveTo","onkeydown","mousedown","button","mouseenter","mouseleave","setMouseWheelScrolling","resizeHandler","previousHeight","currentHeight","abs","max","reBuild","resizing","scrollOverflow","scrollBarHandler","createScrollBarForAll","transformContainer","leftDestination","leftDestinationIndex","rightDestination","anchorLink","leavingSection","yMovement","destiny","fromIndex","toIndex","getYmovement","name","topPos","siblings","removeClass","setURLHash","translate3dLeft","translate3dRight","animate","addEventListener","MouseWheelHandler","attachEvent","event","delta","min","wheelDelta","deltaY","detail","container","translate3d","animated","toggleClass","-webkit-transform","-moz-transform","-ms-transform","text","String","classRe","RegExp","className","sectionHeight","paddings","parseInt","prev","next","isNaN","setKeyboardScrolling","value","removeEventListener","detachEvent","setScrollingSpeed","touchStartY","touchEndY","touchMoveHandler","isReallyTouch","touchEvents","getEventsPage","pointerType","touchStartHandler","passive","y","pageY","pageX","touches","x","destroy","off","build","jQuery"],"mappings":"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","file":"jquery.multiscroll.min.js","sourcesContent":["/*!\r\n * multiscroll.js 0.2.2\r\n * https://github.com/alvarotrigo/multiscroll.js\r\n * @license MIT licensed\r\n *\r\n * Copyright (C) 2016 alvarotrigo.com - A project by Alvaro Trigo\r\n */\r\n(function($, window, document, Math, undefined) {\r\n\r\n $.fn.multiscroll = function(options) {\r\n var MS = $.fn.multiscroll;\r\n\r\n // Create some defaults, extending them with any options that were provided\r\n options = $.extend({\r\n 'verticalCentered' : true,\r\n 'scrollingSpeed': 700,\r\n 'easing': 'easeInQuart',\r\n 'menu': false,\r\n 'sectionsColor': [],\r\n 'anchors':[],\r\n 'navigation': false,\r\n 'navigationPosition': 'right',\r\n 'navigationColor': '#000',\r\n 'navigationTooltips': [],\r\n 'loopBottom': false,\r\n 'loopTop': false,\r\n 'css3': false,\r\n 'paddingTop': 0,\r\n 'paddingBottom': 0,\r\n 'fixedElements': null,\r\n 'normalScrollElements': null,\r\n 'keyboardScrolling': true,\r\n 'touchSensitivity': 5,\r\n\r\n // Custom selectors\r\n 'sectionSelector': '.ms-section',\r\n 'leftSelector': '.ms-left',\r\n 'rightSelector': '.ms-right',\r\n\r\n //events\r\n 'afterLoad': null,\r\n 'onLeave': null,\r\n 'afterRender': null,\r\n 'afterResize': null\r\n }, options);\r\n\r\n //Defines the delay to take place before being able to scroll to the next section\r\n //BE CAREFUL! Not recommened to change it under 400 for a good behavior in laptops and\r\n //Apple devices (laptops, mouses...)\r\n var scrollDelay = 600;\r\n\r\n var isTouchDevice = navigator.userAgent.match(/(iPhone|iPod|iPad|Android|playbook|silk|BlackBerry|BB10|Windows Phone|Tizen|Bada|webOS|IEMobile|Opera Mini)/);\r\n var isTouch = (('ontouchstart' in window) || (navigator.msMaxTouchPoints > 0) || (navigator.maxTouchPoints));\r\n\r\n // adding class namef for right and left blocks\r\n if (options.rightSelector !== '.ms-right') {\r\n $(options.rightSelector).addClass('ms-right');\r\n }\r\n\r\n if (options.leftSelector !== '.ms-left') {\r\n $(options.leftSelector).addClass('ms-left');\r\n }\r\n\r\n var numberSections = $('.ms-left').find('.ms-section').length;\r\n var isMoving = false;\r\n var nav;\r\n var windowHeight = $(window).height();\r\n var MSPointer = getMSPointer();\r\n var events = {\r\n touchmove: 'ontouchmove' in window ? 'touchmove' : MSPointer.move,\r\n touchstart: 'ontouchstart' in window ? 'touchstart' : MSPointer.down\r\n };\r\n\r\n //timeouts\r\n var resizeId;\r\n\r\n addMouseWheelHandler();\r\n addTouchHandler();\r\n\r\n //if css3 is not supported, it will use jQuery animations\r\n if(options.css3){\r\n options.css3 = support3d();\r\n }\r\n\r\n $('html, body').css({\r\n 'overflow' : 'hidden',\r\n 'height' : '100%'\r\n });\r\n\r\n //adding class names to each sections\r\n if (options.sectionSelector !== '.ms-section') {\r\n $(options.sectionSelector).each(function(){\r\n $(this).addClass('ms-section');\r\n });\r\n }\r\n\r\n //creating the navigation dots\r\n if (options.navigation) {\r\n $('body').append('<div id=\"multiscroll-nav\"><ul></ul></div>');\r\n nav = $('#multiscroll-nav');\r\n\r\n nav.css('color', options.navigationColor);\r\n nav.addClass(options.navigationPosition);\r\n }\r\n\r\n $('.ms-right, .ms-left').css({\r\n 'width': '50%',\r\n 'position': 'absolute',\r\n 'height': '100%',\r\n '-ms-touch-action': 'none'\r\n });\r\n\r\n $('.ms-right').css({\r\n 'right': '1px', //http://stackoverflow.com/questions/23675457/chrome-and-opera-creating-small-padding-when-using-displaytable\r\n 'top': '0',\r\n '-ms-touch-action': 'none',\r\n 'touch-action': 'none'\r\n });\r\n\r\n $('.ms-left').css({\r\n 'left': '0',\r\n 'top': '0',\r\n '-ms-touch-action': 'none',\r\n 'touch-action': 'none'\r\n });\r\n\r\n\r\n $('.ms-left .ms-section, .ms-right .ms-section').each(function(){\r\n var sectionIndex = $(this).index();\r\n\r\n if(options.paddingTop || options.paddingBottom){\r\n $(this).css('padding', options.paddingTop + ' 0 ' + options.paddingBottom + ' 0');\r\n }\r\n\r\n if (typeof options.sectionsColor[sectionIndex] !== 'undefined') {\r\n $(this).css('background-color', options.sectionsColor[sectionIndex]);\r\n }\r\n\r\n if (typeof options.anchors[sectionIndex] !== 'undefined') {\r\n $(this).attr('data-anchor', options.anchors[sectionIndex]);\r\n }\r\n\r\n if(options.verticalCentered){\r\n addTableClass($(this));\r\n }\r\n\r\n //only for the left panel\r\n if($(this).closest('.ms-left').length && options.navigation) {\r\n var link = '';\r\n if(options.anchors.length){\r\n link = options.anchors[sectionIndex];\r\n }\r\n var tooltip = options.navigationTooltips[sectionIndex];\r\n if(typeof tooltip === 'undefined'){\r\n tooltip = '';\r\n }\r\n if (options.navigation) {\r\n nav.find('ul').append('<li data-tooltip=\"' + tooltip + '\"><a href=\"#' + link + '\"><span></span></a></li>');\r\n }\r\n }\r\n });\r\n\r\n //inverting the right panel\r\n $('.ms-right').html( $('.ms-right').find('.ms-section').get().reverse());\r\n\r\n $('.ms-left .ms-section, .ms-right .ms-section').each(function(){\r\n var sectionIndex = $(this).index();\r\n\r\n $(this).css({\r\n 'height': '100%'\r\n });\r\n\r\n\r\n if(!sectionIndex && options.navigation ){\r\n //activating the navigation bullet\r\n nav.find('li').eq(sectionIndex).find('a').addClass('active');\r\n }\r\n }).promise().done(function(){\r\n\r\n //if no active section is defined, the 1st one will be the default one\r\n if(!$('.ms-left .ms-section.active').length){\r\n $('.ms-right').find('.ms-section').last().addClass('active');\r\n $('.ms-left').find('.ms-section').first().addClass('active');\r\n }\r\n\r\n //vertical centered of the navigation + first bullet active\r\n if(options.navigation){\r\n nav.css('margin-top', '-' + (nav.height()/2) + 'px');\r\n }\r\n $.isFunction( options.afterRender ) && options.afterRender.call( this);\r\n\r\n //scrolling to the defined active section and adjusting right and left panels\r\n silentScroll();\r\n\r\n //setting the class for the body element\r\n setBodyClass();\r\n\r\n $(window).on('load', function() {\r\n scrollToAnchor();\r\n });\r\n });\r\n\r\n\r\n //detecting any change on the URL to scroll to the given anchor link\r\n //(a way to detect back history button as we play with the hashes on the URL)\r\n $(window).on('hashchange', hashChangeHandler);\r\n\r\n function hashChangeHandler(){\r\n var value = window.location.hash.replace('#', '');\r\n var sectionAnchor = value;\r\n\r\n if(sectionAnchor.length){\r\n var section = $('.ms-left').find('[data-anchor=\"'+sectionAnchor+'\"]');\r\n\r\n var isFirstScrollMove = (typeof lastScrolledDestiny === 'undefined' );\r\n\r\n if (isFirstScrollMove || sectionAnchor !== lastScrolledDestiny){\r\n scrollPage(section);\r\n }\r\n }\r\n };\r\n\r\n\r\n /**\r\n * Sliding with arrow keys, both, vertical and horizontal\r\n */\r\n $(document).keydown(keydownHandler);\r\n\r\n\r\n var keydownId;\r\n function keydownHandler(e) {\r\n clearTimeout(keydownId);\r\n\r\n var activeElement = $(document.activeElement);\r\n\r\n if(!activeElement.is('textarea') && !activeElement.is('input') && !activeElement.is('select') &&\r\n options.keyboardScrolling){\r\n var keyCode = e.which;\r\n\r\n //preventing the scroll with arrow keys & spacebar & Page Up & Down keys\r\n var keyControls = [40, 38, 32, 33, 34];\r\n if($.inArray(keyCode, keyControls) > -1){\r\n e.preventDefault();\r\n }\r\n\r\n keydownId = setTimeout(function(){\r\n onkeydown(e);\r\n },150);\r\n }\r\n }\r\n\r\n /**\r\n * Sliding with arrow keys, both, vertical and horizontal\r\n */\r\n function onkeydown(e){\r\n var shiftPressed = e.shiftKey;\r\n\r\n switch (e.which) {\r\n //up\r\n case 38:\r\n case 33:\r\n MS.moveSectionUp();\r\n break;\r\n\r\n //down\r\n case 32: //spacebar\r\n if(shiftPressed){\r\n MS.moveSectionUp();\r\n break;\r\n }\r\n case 40:\r\n case 34:\r\n MS.moveSectionDown();\r\n break;\r\n\r\n //Home\r\n case 36:\r\n MS.moveTo(1);\r\n break;\r\n\r\n //End\r\n case 35:\r\n MS.moveTo( $('.ms-left .ms-section').length);\r\n break;\r\n\r\n default:\r\n return; // exit this handler for other keys\r\n }\r\n }\r\n\r\n /**\r\n * Disabling any action when pressing of the mouse wheel (Chrome, IE, Opera, Safari)\r\n */\r\n $(document).mousedown(function(e) {\r\n if(e.button == 1){\r\n e.preventDefault();\r\n return false;\r\n }\r\n });\r\n\r\n function navClickHandler(e) {\r\n e.preventDefault();\r\n var index = $(this).parent().index();\r\n scrollPage($('.ms-left .ms-section').eq(index));\r\n }\r\n\r\n //navigation action\r\n $(document).on('click', '#multiscroll-nav a', navClickHandler);\r\n\r\n function navMouseEnterHandler() {\r\n var tooltip = $(this).data('tooltip');\r\n $('<div class=\"multiscroll-tooltip ' + options.navigationPosition +'\">' + tooltip + '</div>').hide().appendTo($(this)).fadeIn(200);\r\n }\r\n\r\n function navMouseLeaveHandler() {\r\n $(this).find('.multiscroll-tooltip').fadeOut(200, function() {\r\n $(this).remove();\r\n });\r\n }\r\n\r\n //navigation tooltips\r\n $(document).on({\r\n mouseenter: navMouseEnterHandler,\r\n mouseleave: navMouseLeaveHandler\r\n }, '#multiscroll-nav li');\r\n\r\n\r\n if(options.normalScrollElements){\r\n $(document).on('mouseenter', options.normalScrollElements, function () {\r\n MS.setMouseWheelScrolling(false);\r\n });\r\n\r\n $(document).on('mouseleave', options.normalScrollElements, function(){\r\n MS.setMouseWheelScrolling(true);\r\n });\r\n }\r\n\r\n\r\n //when resizing the site, we adjust the heights of the sections\r\n $(window).on('resize', resizeHandler);\r\n\r\n\r\n var previousHeight = windowHeight;\r\n\r\n /**\r\n * When resizing is finished, we adjust the slides sizes and positions\r\n */\r\n function resizeHandler() {\r\n // rebuild immediately on touch devices\r\n if (isTouchDevice) {\r\n var activeElement = $(document.activeElement);\r\n\r\n //if the keyboard is NOT visible\r\n if (!activeElement.is('textarea') && !activeElement.is('input') && !activeElement.is('select')) {\r\n var currentHeight = $(window).height();\r\n\r\n //making sure the change in the viewport size is enough to force a rebuild. (20 % of the window to avoid problems when hidding scroll bars)\r\n if( Math.abs(currentHeight - previousHeight) > (20 * Math.max(previousHeight, currentHeight) / 100) ){\r\n reBuild(true);\r\n previousHeight = currentHeight;\r\n }\r\n }\r\n }else{\r\n //in order to call the functions only when the resize is finished\r\n //http://stackoverflow.com/questions/4298612/jquery-how-to-call-resize-event-only-once-its-finished-resizing\r\n clearTimeout(resizeId);\r\n\r\n resizeId = setTimeout(function(){\r\n reBuild(true);\r\n }, 350);\r\n }\r\n }\r\n\r\n /**\r\n * When resizing is finished, we adjust the slides sizes and positions\r\n */\r\n function reBuild(resizing){\r\n windowHeight = $(window).height();\r\n $('.ms-tableCell').each(function() {\r\n $(this).css({ height: getTableHeight($(this).parent()) });\r\n });\r\n\r\n if(options.scrollOverflow){\r\n scrollBarHandler.createScrollBarForAll();\r\n }\r\n\r\n silentScroll();\r\n $.isFunction( options.afterResize ) && options.afterResize.call( this);\r\n }\r\n\r\n function silentScroll(){\r\n //moving the right section to the bottom\r\n if(options.css3){\r\n transformContainer($('.ms-left'), 'translate3d(0px, -' + $('.ms-left').find('.ms-section.active').position().top + 'px, 0px)', false);\r\n transformContainer($('.ms-right'), 'translate3d(0px, -' + $('.ms-right').find('.ms-section.active').position().top + 'px, 0px)', false);\r\n }else{\r\n $('.ms-left').css('top', -$('.ms-left').find('.ms-section.active').position().top );\r\n $('.ms-right').css('top', -$('.ms-right').find('.ms-section.active').position().top );\r\n }\r\n }\r\n\r\n MS.moveSectionUp = function(){\r\n var prev = $('.ms-left .ms-section.active').prev('.ms-section');\r\n\r\n if(!prev.length && options.loopTop){\r\n prev = $('.ms-left .ms-section').last();\r\n }\r\n\r\n if (prev.length) {\r\n scrollPage(prev);\r\n }\r\n };\r\n\r\n MS.moveSectionDown = function (){\r\n var next = $('.ms-left .ms-section.active').next('.ms-section');\r\n\r\n if(!next.length && options.loopBottom ){\r\n next = $('.ms-left .ms-section').first();\r\n }\r\n\r\n if(next.length){\r\n scrollPage(next);\r\n }\r\n };\r\n\r\n MS.moveTo = function (section){\r\n var destiny = '';\r\n\r\n if(isNaN(section)){\r\n destiny = $('.ms-left [data-anchor=\"'+section+'\"]');\r\n }else{\r\n destiny = $('.ms-left .ms-section').eq( (section -1) );\r\n }\r\n\r\n scrollPage(destiny);\r\n };\r\n\r\n function scrollPage(leftDestination){\r\n var leftDestinationIndex = leftDestination.index();\r\n var rightDestination = $('.ms-right').find('.ms-section').eq( numberSections -1 - leftDestinationIndex);\r\n var rightDestinationIndex = numberSections - 1 - leftDestinationIndex;\r\n var anchorLink = leftDestination.data('anchor');\r\n var activeSection = $('.ms-left .ms-section.active');\r\n var leavingSection = activeSection.index() + 1;\r\n var yMovement = getYmovement(leftDestination);\r\n\r\n //preventing from activating the MouseWheelHandler event\r\n //more than once if the page is scrolling\r\n isMoving = true;\r\n\r\n var topPos = {\r\n 'left' : leftDestination.position().top,\r\n 'right': rightDestination.position().top\r\n };\r\n\r\n rightDestination.addClass('active').siblings().removeClass('active');\r\n leftDestination.addClass('active').siblings().removeClass('active');\r\n\r\n setURLHash(anchorLink);\r\n\r\n // Use CSS3 translate functionality or...\r\n if (options.css3){\r\n //callback (onLeave)\r\n $.isFunction(options.onLeave) && options.onLeave.call(this, leavingSection, (leftDestinationIndex + 1), yMovement);\r\n\r\n var translate3dLeft = 'translate3d(0px, -' + topPos['left'] + 'px, 0px)';\r\n var translate3dRight = 'translate3d(0px, -' + topPos['right'] + 'px, 0px)';\r\n\r\n transformContainer($('.ms-left'), translate3dLeft, true);\r\n transformContainer($('.ms-right'), translate3dRight, true);\r\n\r\n setTimeout(function () {\r\n //callback (afterLoad)\r\n $.isFunction(options.afterLoad) && options.afterLoad.call(this, anchorLink, (leftDestinationIndex + 1));\r\n\r\n setTimeout(function () {\r\n isMoving = false;\r\n }, scrollDelay);\r\n }, options.scrollingSpeed);\r\n }else{\r\n //callback (onLeave)\r\n $.isFunction(options.onLeave) && options.onLeave.call(this, leavingSection, (leftDestinationIndex + 1), yMovement);\r\n\r\n $('.ms-left').animate({\r\n 'top': -topPos['left']\r\n }, options.scrollingSpeed, options.easing, function(){\r\n $.isFunction(options.afterLoad) && options.afterLoad.call(this, anchorLink, (leftDestinationIndex + 1));\r\n\r\n setTimeout(function () {\r\n isMoving = false;\r\n }, scrollDelay);\r\n });\r\n\r\n $('.ms-right').animate({\r\n 'top': -topPos['right']\r\n }, options.scrollingSpeed, options.easing);\r\n }\r\n\r\n //flag to avoid callingn `scrollPage()` twice in case of using anchor links\r\n lastScrolledDestiny = anchorLink;\r\n\r\n activateMenuElement(anchorLink);\r\n activateNavDots(anchorLink, leftDestinationIndex);\r\n }\r\n\r\n /**\r\n * Removes the auto scrolling action fired by the mouse wheel and tackpad.\r\n * After this function is called, the mousewheel and trackpad movements won't scroll through sections.\r\n */\r\n function removeMouseWheelHandler(){\r\n if (document.addEventListener) {\r\n document.removeEventListener('mousewheel', MouseWheelHandler, false); //IE9, Chrome, Safari, Oper\r\n document.removeEventListener('wheel', MouseWheelHandler, false); //Firefox\r\n } else {\r\n document.detachEvent(\"onmousewheel\", MouseWheelHandler); //IE 6/7/8\r\n }\r\n }\r\n\r\n /**\r\n * Adds the auto scrolling action for the mouse wheel and tackpad.\r\n * After this function is called, the mousewheel and trackpad movements will scroll through sections\r\n */\r\n function addMouseWheelHandler(){\r\n if (document.addEventListener) {\r\n document.addEventListener(\"mousewheel\", MouseWheelHandler, false); //IE9, Chrome, Safari, Oper\r\n document.addEventListener(\"wheel\", MouseWheelHandler, false); //Firefox\r\n } else {\r\n document.attachEvent(\"onmousewheel\", MouseWheelHandler); //IE 6/7/8\r\n }\r\n }\r\n\r\n /**\r\n * Detecting mousewheel scrolling\r\n *\r\n * http://blogs.sitepointstatic.com/examples/tech/mouse-wheel/index.html\r\n * http://www.sitepoint.com/html5-javascript-mouse-wheel/\r\n */\r\n function MouseWheelHandler(e) {\r\n // cross-browser wheel delta\r\n e = window.event || e;\r\n var delta = Math.max(-1, Math.min(1,\r\n (e.wheelDelta || -e.deltaY || -e.detail)));\r\n\r\n if (!isMoving) { //if theres any #\r\n\r\n //scrolling down?\r\n if (delta < 0) {\r\n MS.moveSectionDown();\r\n }\r\n\r\n //scrolling up?\r\n else {\r\n MS.moveSectionUp();\r\n }\r\n }\r\n\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Adds a css3 transform property to the container class with or without animation depending on the animated param.\r\n */\r\n function transformContainer(container, translate3d, animated){\r\n container.toggleClass('ms-easing', animated);\r\n\r\n container.css(getTransforms(translate3d));\r\n }\r\n\r\n\r\n /**\r\n * Returns the transform styles for all browsers\r\n */\r\n function getTransforms(translate3d){\r\n return {\r\n '-webkit-transform': translate3d,\r\n '-moz-transform': translate3d,\r\n '-ms-transform':translate3d,\r\n 'transform': translate3d\r\n };\r\n }\r\n\r\n /**\r\n * Activating the website navigation dots according to the given slide name.\r\n */\r\n function activateNavDots(name, sectionIndex){\r\n if(options.navigation){\r\n $('#multiscroll-nav').find('.active').removeClass('active');\r\n if(name){\r\n $('#multiscroll-nav').find('a[href=\"#' + name + '\"]').addClass('active');\r\n }else{\r\n $('#multiscroll-nav').find('li').eq(sectionIndex).find('a').addClass('active');\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Activating the website main menu elements according to the given slide name.\r\n */\r\n function activateMenuElement(name){\r\n if(options.menu){\r\n $(options.menu).find('.active').removeClass('active');\r\n $(options.menu).find('[data-menuanchor=\"'+name+'\"]').addClass('active');\r\n }\r\n }\r\n\r\n /**\r\n * Retuns `up` or `down` depending on the scrolling movement to reach its destination\r\n * from the current section.\r\n */\r\n function getYmovement(destiny){\r\n var fromIndex = $('.ms-left .ms-section.active').index();\r\n var toIndex = destiny.index();\r\n\r\n if(fromIndex > toIndex){\r\n return 'up';\r\n }\r\n return 'down';\r\n }\r\n\r\n\r\n /**\r\n * Sets the URL hash for a section with slides\r\n */\r\n function setURLHash(anchorLink){\r\n if(options.anchors.length){\r\n location.hash = anchorLink;\r\n }\r\n\r\n setBodyClass();\r\n }\r\n\r\n /**\r\n * Sets a class for the body of the page depending on the active section / slide\r\n */\r\n function setBodyClass(){\r\n var section = $('.ms-left .ms-section.active');\r\n var sectionAnchor = section.data('anchor');\r\n var sectionIndex = section.index();\r\n\r\n var text = String(sectionIndex);\r\n\r\n if(options.anchors.length){\r\n text = sectionAnchor;\r\n }\r\n\r\n //changing slash for dash to make it a valid CSS style\r\n text = text.replace('/', '-').replace('#','');\r\n\r\n //removing previous anchor classes\r\n var classRe = new RegExp('\\\\b\\\\s?' + 'ms-viewing' + '-[^\\\\s]+\\\\b', \"g\");\r\n $('body')[0].className = $('body')[0].className.replace(classRe, '');\r\n\r\n //adding the current anchor\r\n $('body').addClass('ms-viewing-' + text);\r\n }\r\n\r\n\r\n /**\r\n * Checks for translate3d support\r\n * @return boolean\r\n * http://stackoverflow.com/questions/5661671/detecting-transform-translate3d-support\r\n */\r\n function support3d() {\r\n var el = document.createElement('p'),\r\n has3d,\r\n transforms = {\r\n 'webkitTransform':'-webkit-transform',\r\n 'OTransform':'-o-transform',\r\n 'msTransform':'-ms-transform',\r\n 'MozTransform':'-moz-transform',\r\n 'transform':'transform'\r\n };\r\n\r\n // Add it to the body to get the computed style.\r\n document.body.insertBefore(el, null);\r\n\r\n for (var t in transforms) {\r\n if (el.style[t] !== undefined) {\r\n el.style[t] = \"translate3d(1px,1px,1px)\";\r\n has3d = window.getComputedStyle(el).getPropertyValue(transforms[t]);\r\n }\r\n }\r\n\r\n document.body.removeChild(el);\r\n\r\n return (has3d !== undefined && has3d.length > 0 && has3d !== \"none\");\r\n }\r\n\r\n /**\r\n * Wraps an element in order to center it vertically by using a class style.\r\n */\r\n function addTableClass(element){\r\n element.addClass('ms-table').wrapInner('<div class=\"ms-tableCell\" style=\"height: ' + getTableHeight(element) + 'px\" />');\r\n }\r\n\r\n /**\r\n * Gets the height of the section after removing the paddings.\r\n */\r\n function getTableHeight(section){\r\n var sectionHeight = windowHeight;\r\n\r\n if(options.paddingTop || options.paddingBottom){\r\n var paddings = parseInt(section.css('padding-top')) + parseInt(section.css('padding-bottom'));\r\n sectionHeight = (windowHeight - paddings);\r\n }\r\n\r\n return sectionHeight;\r\n }\r\n\r\n\r\n /**\r\n * Scrolls the page to the existent anchor in the URL\r\n */\r\n function scrollToAnchor(){\r\n //getting the anchor link in the URL and deleting the `#`\r\n var sectionAnchor = window.location.hash.replace('#', '');\r\n var section = $('.ms-left .ms-section[data-anchor=\"'+sectionAnchor+'\"]');\r\n\r\n if(sectionAnchor.length){ //if theres any #\r\n scrollPage(section);\r\n }\r\n }\r\n\r\n /**\r\n * Adds or remove the possiblity of scrolling through sections by using the keyboard arrow keys\r\n */\r\n MS.setKeyboardScrolling = function (value){\r\n options.keyboardScrolling = value;\r\n };\r\n\r\n /**\r\n * Adds or remove the possiblity of scrolling through sections by using the mouse wheel or the trackpad.\r\n */\r\n MS.setMouseWheelScrolling = function (value){\r\n if(value){\r\n addMouseWheelHandler();\r\n }else{\r\n removeMouseWheelHandler();\r\n }\r\n };\r\n\r\n /**\r\n * Defines the scrolling speed\r\n */\r\n MS.setScrollingSpeed = function(value){\r\n options.scrollingSpeed = value;\r\n };\r\n\r\n\r\n\r\n var touchStartY = 0;\r\n var touchStartX = 0;\r\n var touchEndY = 0;\r\n var touchEndX = 0;\r\n\r\n /* Detecting touch events\r\n\r\n * As we are changing the top property of the page on scrolling, we can not use the traditional way to detect it.\r\n * This way, the touchstart and the touch moves shows an small difference between them which is the\r\n * used one to determine the direction.\r\n */\r\n function touchMoveHandler(e){\r\n\r\n if(isReallyTouch(e)){\r\n //preventing the easing on iOS devices\r\n event.preventDefault();\r\n\r\n var activeSection = $('.ms-left .ms-section.active');\r\n\r\n if (!isMoving) { //if theres any #\r\n var touchEvents = getEventsPage(e);\r\n touchEndY = touchEvents['y'];\r\n touchEndX = touchEvents['x'];\r\n\r\n\r\n //is the movement greater than the minimum resistance to scroll?\r\n if (Math.abs(touchStartY - touchEndY) > ($(window).height() / 100 * options.touchSensitivity)) {\r\n\r\n if (touchStartY > touchEndY) {\r\n MS.moveSectionDown();\r\n\r\n } else if (touchEndY > touchStartY) {\r\n MS.moveSectionUp();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * As IE >= 10 fires both touch and mouse events when using a mouse in a touchscreen\r\n * this way we make sure that is really a touch event what IE is detecting.\r\n */\r\n function isReallyTouch(e){\r\n //if is not IE || IE is detecting `touch` or `pen`\r\n return typeof e.pointerType === 'undefined' || e.pointerType != 'mouse';\r\n }\r\n\r\n\r\n /**\r\n * Handler to get he coordinates of the starting touch\r\n */\r\n function touchStartHandler(e){\r\n\r\n if(isReallyTouch(e)){\r\n var touchEvents = getEventsPage(e);\r\n touchStartY = touchEvents['y'];\r\n touchStartX = touchEvents['x'];\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Adds the possibility to auto scroll through sections on touch devices.\r\n */\r\n function addTouchHandler(){\r\n if(isTouch || isTouchDevice){\r\n document.removeEventListener(events.touchstart, touchStartHandler);\r\n document.removeEventListener(events.touchmove, touchMoveHandler, {passive: false});\r\n\r\n document.addEventListener(events.touchstart, touchStartHandler);\r\n document.addEventListener(events.touchmove, touchMoveHandler, {passive: false});\r\n }\r\n }\r\n\r\n /**\r\n * Removes the auto scrolling for touch devices.\r\n */\r\n function removeTouchHandler(){\r\n if(isTouch || isTouchDevice){\r\n document.removeEventListener(events.touchstart, touchStartHandler);\r\n document.removeEventListener(events.touchmove, touchMoveHandler, {passive: false});\r\n }\r\n }\r\n\r\n /*\r\n * Returns and object with Microsoft pointers (for IE<11 and for IE >= 11)\r\n * http://msdn.microsoft.com/en-us/library/ie/dn304886(v=vs.85).aspx\r\n */\r\n function getMSPointer(){\r\n var pointer;\r\n\r\n //IE >= 11\r\n if(window.PointerEvent){\r\n pointer = { down: \"pointerdown\", move: \"pointermove\"};\r\n }\r\n\r\n //IE < 11\r\n else{\r\n pointer = { down: \"MSPointerDown\", move: \"MSPointerMove\"};\r\n }\r\n\r\n return pointer;\r\n }\r\n\r\n /**\r\n * Gets the pageX and pageY properties depending on the browser.\r\n * https://github.com/alvarotrigo/fullPage.js/issues/194#issuecomment-34069854\r\n */\r\n function getEventsPage(e){\r\n var events = [];\r\n\r\n events.y = (typeof e.pageY !== 'undefined' && (e.pageY || e.pageX) ? e.pageY : e.touches[0].pageY);\r\n events.x = (typeof e.pageX !== 'undefined' && (e.pageY || e.pageX) ? e.pageX : e.touches[0].pageX);\r\n\r\n //in touch devices with scrollBar:true, e.pageY is detected, but we have to deal with touch events. #1008\r\n if(isTouch && isReallyTouch(e) && typeof e.touches !== 'undefined'){\r\n events.y = e.touches[0].pageY;\r\n events.x = e.touches[0].pageX;\r\n }\r\n\r\n return events;\r\n }\r\n\r\n /**\r\n * Destroy multiscroll.js plugin's events\r\n */\r\n MS.destroy = function() {\r\n MS.setKeyboardScrolling(false);\r\n MS.setMouseWheelScrolling(false);\r\n removeTouchHandler();\r\n\r\n $(window)\r\n .off('hashchange', hashChangeHandler)\r\n .off('resize', resizeHandler);\r\n\r\n $(document)\r\n .off('mouseenter', '#multiscroll-nav li')\r\n .off('mouseleave', '#multiscroll-nav li')\r\n .off('click', '#multiscroll-nav a');\r\n };\r\n\r\n /**\r\n * Build multiscroll.js plugin's events after destroy\r\n */\r\n MS.build = function() {\r\n MS.setKeyboardScrolling(true);\r\n MS.setMouseWheelScrolling(true);\r\n addTouchHandler();\r\n\r\n $(window)\r\n .on('hashchange', hashChangeHandler)\r\n .on('resize', resizeHandler);\r\n\r\n $(document)\r\n .on('mouseenter', '#multiscroll-nav li', navMouseEnterHandler)\r\n .on('mouseleave', '#multiscroll-nav li', navMouseLeaveHandler)\r\n .on('click', '#multiscroll-nav a', navClickHandler);\r\n };\r\n\r\n };\r\n})(jQuery, window, document, Math);\r\n"]}
You can’t perform that action at this time.