Advertisement
cmoreira

carousel

Mar 2nd, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.    
  3.     var ls_curr_slider = [];
  4.  
  5.     jQuery(document).ready(function($){
  6.  
  7.  
  8.        
  9.  
  10.        
  11.         ls_trigger_sliders();
  12.        
  13.        
  14.        
  15.     });
  16.  
  17.  
  18.  
  19.  
  20.     function ls_trigger_sliders() {
  21.  
  22.         for (var key in lssliderparam) {           
  23.  
  24.              var auto = (lssliderparam[key]['auto'] === 'true');
  25.              var pause = parseInt(lssliderparam[key]['pause']);
  26.              var autohover = (lssliderparam[key]['autohover'] === 'true');
  27.              var ticker = (lssliderparam[key]['ticker'] === 'true');
  28.              var tickerhover = (lssliderparam[key]['tickerhover'] === 'true');
  29.              var usecss = (lssliderparam[key]['usecss'] === 'true');
  30.              var autocontrols = (lssliderparam[key]['autocontrols'] === 'true');
  31.              var speed = parseInt(lssliderparam[key]['speed']);
  32.              var slidemargin = parseInt(lssliderparam[key]['slidemargin']);
  33.              var infiniteloop = (lssliderparam[key]['infiniteloop'] === 'true');
  34.              var pager = (lssliderparam[key]['pager'] === 'true');
  35.              var controls = (lssliderparam[key]['controls'] === 'true');
  36.              var slidewidth = parseFloat(lssliderparam[key]['slidewidth']);
  37.              var minslides = parseInt(lssliderparam[key]['minslides']);
  38.              var maxslides = parseInt(lssliderparam[key]['maxslides']);
  39.              var moveslides = parseInt(lssliderparam[key]['moveslides']);
  40.              var tmode = lssliderparam[key]['mode']; //options: 'horizontal', 'vertical', 'fade'
  41.  
  42.              
  43.  
  44.              //remove pager space by setting pager to false for ticker
  45.              if(ticker == true) {
  46.                 controls = false;
  47.              }
  48.  
  49.              var sliderDiv = jQuery(lssliderparam[key]['divid']);
  50.              //sometimes the div is passed wrong, so we built a temp fix here:
  51.              //if(sliderDiv==false) {
  52.                 //sliderDiv = $('.lshowcase-wrap-carousel-1');
  53.              //}
  54.  
  55.              //To improve responsive behaviour we force the limit of 1 slide in small viewports
  56.              if(maxslides==0 && ticker == false) {
  57.  
  58.                 var view_width = sliderDiv.parent().width();
  59.  
  60.                 if(controls == true ) { view_width = view_width-70; }
  61.  
  62.                  var slider_real = slidemargin + slidewidth;
  63.                  maxslides = Math.floor(view_width/slider_real);
  64.  
  65.                  //not to ignore the minimum value
  66.                  if(maxslides < minslides) {
  67.                     maxslides = minslides;
  68.                  }
  69.  
  70.              }
  71.              
  72.              if(maxslides==0 && ticker != false) {
  73.                 maxslides = 99;
  74.              }
  75.  
  76.  
  77.             //fix bug of 1 slider only infinite loop not working
  78.             //another solution could be adding the slidemargin to
  79.             //the slideWidth and align the images in the center
  80.             if (maxslides <= 1 && ticker == false) {
  81.                 //set margin to null
  82.                 slidemargin = 0;
  83.                 //make sure max slides is set to 1
  84.                 maxslides = 1;
  85.                 //make sure moveslides is set to 1
  86.                 moveSlides = 1;
  87.  
  88.             }
  89.  
  90.             sliderDiv.fadeIn('fast');
  91.            
  92.  
  93.             ls_curr_slider[key] = sliderDiv.bxSlider({             
  94.             auto: auto,    
  95.             pause: pause,
  96.             autoHover: autohover,
  97.             ticker: ticker,
  98.             tickerHover: tickerhover,
  99.             useCSS: usecss,
  100.             autoControls: autocontrols,
  101.             mode: tmode,
  102.             speed: speed,
  103.             slideMargin: slidemargin,
  104.             infiniteLoop: infiniteloop,
  105.             pager: pager,
  106.             controls: controls,
  107.             slideWidth: slidewidth,
  108.             minSlides: minslides,
  109.             maxSlides: maxslides,
  110.             moveSlides: moveslides,
  111.             autoDirection: 'next',
  112.             //captions: true,
  113.             //Make Slider Start again after controls get clicked (useful for auto slide)
  114.             /*
  115.             onSlideAfter: function() {
  116.                 ls_curr_slider[key].stopAuto();
  117.                 ls_curr_slider[key].startAuto();
  118.             },
  119.             */
  120.             onSliderLoad: function(currentIndex){
  121.  
  122.                 var sl = sliderDiv.parent().parent();              
  123.  
  124.                     var marg = '0 35px';
  125.  
  126.                     if(controls == false ) { marg = 'none'; }
  127.  
  128.                    sl.css({
  129.                         margin: marg
  130.                         });
  131.  
  132.                    sl.parent().css({
  133.                         maxWidth: sl.width()+80
  134.                         });
  135.  
  136.  
  137.                    //to align elements in the center in ticker
  138.                    /*
  139.                     We change the class, becasue the lshowcase-slide has a float:none!important that breaks
  140.                     the ticker code.
  141.                     Note: Seems safari doesn't trigger the ticker = true if there are other sliders non-ticker in the page
  142.                    */
  143.                  
  144.                    if(ticker == true) {
  145.  
  146.                     sliderheight = sliderDiv.parent().height();
  147.  
  148.                         if(sliderheight>0) {
  149.                             sliderDiv.find(".lshowcase-slide")
  150.                             .addClass('lshowcase-ticker-slide')
  151.                             .removeClass('lshowcase-slide')
  152.                             .css("height",sliderheight + 'px');
  153.                         }
  154.                    
  155.                    }
  156.  
  157.  
  158.                    /* Tooltip code *
  159.                    /* Fix for cloned elements. Run tooltip code only after the slider is loaded
  160.  
  161.                    var toshow = 'title';       
  162.  
  163.                     jQuery('.lshowcase-tooltip').tooltip({
  164.                     content: function () { return jQuery(this).attr(toshow) },
  165.                     close: function( event, ui ) {
  166.                             ui.tooltip.hover(
  167.                                 function () {
  168.                                     jQuery(this).stop(true).fadeTo(400, 1);
  169.                                     //.fadeIn("slow"); // doesn't work because of stop()
  170.                                 },
  171.                                 function () {
  172.                                     jQuery(this).fadeOut("400", function(){ jQuery(this).remove(); })
  173.                                 }
  174.                             );
  175.                           },
  176.                     position: {
  177.                     my: "center bottom-20",
  178.                     at: "center top",
  179.                     using: function( position, feedback ) {
  180.                     jQuery( this ).css( position );
  181.                     jQuery( "<div>" )
  182.                     .addClass( "lsarrow" )
  183.                     .addClass( feedback.vertical )
  184.                     .addClass( feedback.horizontal )
  185.                     .appendTo( this );
  186.                     }
  187.                     }
  188.                     });
  189.  
  190.                    
  191.  
  192.                    /* End tooltip code */
  193.                  
  194.             }
  195.  
  196.             });
  197.  
  198.         }
  199.  
  200.         //Use Custom Controls
  201.         if( jQuery('#ls-slider-prev').length )  
  202.  
  203.         {
  204.  
  205.             //custom controls
  206.             jQuery("#ls-slider-prev").click(function(){
  207.                 ls_curr_slider[0].goToPrevSlide();
  208.                 ls_curr_slider[1].goToPrevSlide();
  209.                 ls_curr_slider[0].stopAuto();
  210.                 ls_curr_slider[1].stopAuto();
  211.             });
  212.  
  213.             jQuery("#ls-slider-next").click(function(){
  214.                 ls_curr_slider[0].goToNextSlide();
  215.                 ls_curr_slider[1].goToNextSlide();
  216.                 ls_curr_slider[0].stopAuto();
  217.                 ls_curr_slider[1].stopAuto();
  218.             });
  219.  
  220.         }
  221.  
  222.          ls_trigger_sliders = function(){ };
  223.  
  224.  
  225.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement