Tema: Multiscroll
Ver Mensaje Individual
  #5 (permalink)  
Antiguo 30/05/2014, 09:55
Avatar de satjaen
satjaen
 
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 12 años, 3 meses
Puntos: 10
Respuesta: Multiscroll

Se que tengo que hacerlo en el archivo js lo pongo por si alguien me pude ayudar.

jquery.multiscroll.js

Código Javascript:
Ver original
  1. /**
  2.  * multiscroll.js 0.0.9 Beta
  3.  * https://github.com/alvarotrigo/multiscroll.js
  4.  * MIT licensed
  5.  *
  6.  * Copyright (C) 2013 alvarotrigo.com - A project by Alvaro Trigo
  7.  */
  8.  
  9. (function($) {
  10.     $.fn.multiscroll = function(options) {
  11.         // Create some defaults, extending them with any options that were provided
  12.         options = $.extend({
  13.             'verticalCentered' : true,
  14.             'scrollingSpeed': 700,
  15.             'easing': 'easeInQuart',
  16.             'menu': false,
  17.             'sectionsColor': [],
  18.             'anchors':[],
  19.             'navigation': false,
  20.             'navigationPosition': 'right',
  21.             'navigationColor': '#000',
  22.             'navigationTooltips': [],
  23.             'loopBottom': false,
  24.             'loopTop': false,
  25.             'css3': false,
  26.             'paddingTop': 0,
  27.             'paddingBottom': 0,
  28.             'fixedElements': null,
  29.             'normalScrollElements': null,
  30.             'keyboardScrolling': true,
  31.             'touchSensitivity': 5,
  32.  
  33.             //events
  34.             'afterLoad': null,
  35.             'onLeave': null,
  36.             'afterRender': null,
  37.             'afterResize': null
  38.         }, options);       
  39.        
  40.  
  41.         //Defines the delay to take place before being able to scroll to the next section
  42.         //BE CAREFUL! Not recommened to change it under 400 for a good behavior in laptops and
  43.         //Apple devices (laptops, mouses...)
  44.         var scrollDelay = 600;
  45.  
  46.         var numberSections = $('.ms-left').find('.ms-section').length;
  47.         var isMoving = false;
  48.         var nav;
  49.         var windowHeight = $(window).height();
  50.  
  51.  
  52.         addMouseWheelHandler();
  53.         addTouchHandler();
  54.  
  55.         //if css3 is not supported, it will use jQuery animations
  56.         if(options.css3){
  57.             options.css3 = support3d();
  58.         }
  59.  
  60.         $('html, body').css({
  61.             'overflow' : 'hidden',
  62.             'height' : '100%'
  63.         });
  64.  
  65.         //creating the navigation dots
  66.         if (options.navigation) {
  67.             $('body').append('<div id="multiscroll-nav"><ul></ul></div>');
  68.             nav = $('#multiscroll-nav');
  69.  
  70.             nav.css('color', options.navigationColor);
  71.             nav.addClass(options.navigationPosition);
  72.         }
  73.        
  74.         $('.ms-right, .ms-left').css({
  75.             'width': '50%',
  76.             'position': 'absolute',
  77.             'height': '100%'
  78.         });
  79.  
  80.         $('.ms-right').css({
  81.             'right': '0.1px', //http://stackoverflow.com/questions/23675457/chrome-and-opera-creating-small-padding-when-using-displaytable
  82.             'top': '0'
  83.         });
  84.  
  85.         $('.ms-left').css({
  86.             'left': '0',
  87.             'top': '0'
  88.         });
  89.  
  90.  
  91.         $('.ms-left .ms-section, .ms-right .ms-section').each(function(){
  92.             var sectionIndex = $(this).index();
  93.  
  94.             if(options.paddingTop || options.paddingBottom){
  95.                 $(this).css('padding', options.paddingTop  + ' 0 ' + options.paddingBottom + ' 0');
  96.             }
  97.            
  98.             if (typeof options.sectionsColor[sectionIndex] !==  'undefined') {
  99.                 $(this).css('background-color', options.sectionsColor[sectionIndex]);
  100.             }
  101.  
  102.             if (typeof options.anchors[sectionIndex] !== 'undefined') {
  103.                 $(this).attr('data-anchor', options.anchors[sectionIndex]);
  104.             }  
  105.  
  106.             if(options.verticalCentered){
  107.                 addTableClass($(this));
  108.             }
  109.  
  110.             //only for the left panel
  111.             if($(this).closest('.ms-left').length && options.navigation) {
  112.                 var link = '';
  113.                 if(options.anchors.length){
  114.                     link = options.anchors[sectionIndex];
  115.                 }
  116.                 var tooltip = options.navigationTooltips[sectionIndex];
  117.                 if(typeof tooltip === 'undefined'){
  118.                     tooltip = '';
  119.                 }
  120.                 if (options.navigation) {
  121.                     nav.find('ul').append('<li data-tooltip="' + tooltip + '"><a href="#' + link + '"><span></span></a></li>');
  122.                 }
  123.             }
  124.         });
  125.  
  126.         //inverting the right panel
  127.         $('.ms-right').html( $('.ms-right').find('.ms-section').get().reverse());
  128.  
  129.         $('.ms-left .ms-section, .ms-right .ms-section').each(function(){
  130.             var sectionIndex = $(this).index();
  131.  
  132.             $(this).css({
  133.                 'height': '100%'
  134.             });
  135.            
  136.    
  137.             if(!sectionIndex && options.navigation ){
  138.                 //activating the navigation bullet
  139.                 nav.find('li').eq(sectionIndex).find('a').addClass('active');
  140.             }
  141.         }).promise().done(function(){
  142.  
  143.             //if no active section is defined, the 1st one will be the default one
  144.             if(!$('.ms-left .ms-section.active').length){
  145.                 $('.ms-right').find('.ms-section').last().addClass('active');
  146.                 $('.ms-left').find('.ms-section').first().addClass('active');
  147.             }
  148.  
  149.             $.isFunction( options.afterRender ) && options.afterRender.call( this);
  150.  
  151.             //scrolling to the defined active section and adjusting right and left panels
  152.             silentScroll();
  153.  
  154.             $(window).on('load', function() {
  155.                 scrollToAnchor();  
  156.             });
  157.         });
  158.  
  159.        
  160.         //detecting any change on the URL to scroll to the given anchor link
  161.         //(a way to detect back history button as we play with the hashes on the URL)
  162.         $(window).on('hashchange',function(){
  163.             var value =  window.location.hash.replace('#', '');
  164.             var sectionAnchor = value;
  165.  
  166.             var section = $('.ms-left').find('[data-anchor="'+sectionAnchor+'"]');
  167.            
  168.             var isFirstScrollMove = (typeof lastScrolledDestiny === 'undefined' );
  169.  
  170.             if (isFirstScrollMove || sectionAnchor !== lastScrolledDestiny){
  171.                 scrollPage(section);
  172.             }
  173.         });
  174.        
  175.  
  176.         /**
  177.          * Sliding with arrow keys, both, vertical and horizontal
  178.          */
  179.         $(document).keydown(function(e) {
  180.             //Moving the main page with the keyboard arrows if keyboard scrolling is enabled
  181.             if (options.keyboardScrolling && !isMoving) {
  182.                 switch (e.which) {
  183.                     //up
  184.                     case 38:
  185.                     case 33:
  186.                         $.fn.multiscroll.moveSectionUp();
  187.                         break;
  188.  
  189.                     //down
  190.                     case 40:
  191.                     case 34:
  192.                         $.fn.multiscroll.moveSectionDown();
  193.                         break;
  194.            
  195.                     default:
  196.                         return; // exit this handler for other keys
  197.                 }
  198.             }
  199.         });
  200.  
  201.  
  202.         /**
  203.          * Disabling any action when pressing of the mouse wheel (Chrome, IE, Opera, Safari)
  204.          */
  205.         $(document).mousedown(function(e) {
  206.             if(e.button == 1){
  207.                 e.preventDefault();
  208.                 return false;
  209.             }
  210.         });
  211.  
  212.         //navigation action
  213.         $(document).on('click', '#multiscroll-nav a', function(e){
  214.             e.preventDefault();
  215.             var index = $(this).parent().index();
  216.             scrollPage($('.ms-left .ms-section').eq(index));
  217.         });


Es mas largo si hace falta pongo mas