http://www.woothemes.com/flexslider/

Get started with FlexSlider in 3 easy steps!

Step 1 – Link files

Add these items to the  of your document. This will link jQuery and the FlexSlider core CSS/JS files into your webpage. You can also choose to host jQuery on your own server, but Google is nice enough to take care of that for us!




   


Step 2 – Add markup

The FlexSlider markup is simple and straightforward. First, start with a single containing element, 

 in this example. Then, create a 
    . It is important to use this class because the slider targets that class specifically. Put your p_w_picpaths and anything else you desire into each 
  •  and you are ready to rock.

    
    
      
        
  •            
  •     
  •            
  •     
  •            
  •   

   


Step 3 – Hook up the slider

Lastly, add the following lines of Javascript into the  of your document, below the links from Step 1. The$(window).load() is required to ensure the content of the page is loaded before the plugin initializes.



  $(window).load(function() {
    $('.flexslider').flexslider();
  });

   


…and voila! That wraps up the most basic installation of FlexSlider into your webpage.

Step 4 – Tailor to your needs

Listed below are all of the options available to customize FlexSlider to suite your needs, along with their default values. For examples on how to use these properties for advanced setups, check out the Advanced Options section.

namespace: "flex-",             //{NEW} String: Prefix string attached to the class of every element generated by the plugin

selector: ".slides > li",       //{NEW} Selector: Must match a simple pattern. '{container} > {slide}' -- Ignore pattern at your own peril

animation: "fade",              //String: Select your animation type, "fade" or "slide"

easing: "swing",               //{NEW} String: Determines the easing method used in jQuery transitions. jQuery easing plugin is supported!

direction: "horizontal",        //String: Select the sliding direction, "horizontal" or "vertical"

reverse: false,                 //{NEW} Boolean: Reverse the animation direction

animationLoop: true,             //Boolean: Should the animation loop? If false, directionNav will received "disable" classes at either end

smoothHeight: false,            //{NEW} Boolean: Allow height of the slider to animate smoothly in horizontal mode 

startAt: 0,                     //Integer: The slide that the slider should start on. Array notation (0 = first slide)

slideshow: true,                //Boolean: Animate slider automatically

slideshowSpeed: 7000,           //Integer: Set the speed of the slideshow cycling, in milliseconds

animationSpeed: 600,            //Integer: Set the speed of animations, in milliseconds

initDelay: 0,                   //{NEW} Integer: Set an initialization delay, in milliseconds

randomize: false,               //Boolean: Randomize slide order

 

// Usability features

pauseOnAction: true,            //Boolean: Pause the slideshow when interacting with control elements, highly recommended.

pauseOnHover: false,            //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering

useCSS: true,                   //{NEW} Boolean: Slider will use CSS3 transitions if available

touch: true,                    //{NEW} Boolean: Allow touch swipe navigation of the slider on touch-enabled devices

video: false,                   //{NEW} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches

 

// Primary Controls

controlNav: true,               //Boolean: Create navigation for paging control of each clide? Note: Leave true for manualControls usage

directionNav: true,             //Boolean: Create navigation for previous/next navigation? (true/false)

prevText: "Previous",           //String: Set the text for the "previous" directionNav item

nextText: "Next",               //String: Set the text for the "next" directionNav item

 

// Secondary Navigation

keyboard: true,                 //Boolean: Allow slider navigating via keyboard left/right keys

multipleKeyboard: false,        //{NEW} Boolean: Allow keyboard navigation to affect multiple sliders. Default behavior cuts out keyboard navigation with more than one slider present.

mousewheel: false,              //{UPDATED} Boolean: Requires jquery.mousewheel.js (https://github.com/brandonaaron/jquery-mousewheel) - Allows slider navigating via mousewheel

pausePlay: false,               //Boolean: Create pause/play dynamic element

pauseText: 'Pause',             //String: Set the text for the "pause" pausePlay item

playText: 'Play',               //String: Set the text for the "play" pausePlay item

 

// Special properties

controlsContainer: "",          //{UPDATED} Selector: USE CLASS SELECTOR. Declare which container the navigation elements should be appended too. Default container is the FlexSlider element. Example use would be ".flexslider-container". Property is ignored if given element is not found.

manualControls: "",             //Selector: Declare custom control navigation. Examples would be ".flex-control-nav li" or "#tabs-nav li img", etc. The number of elements in your controlNav should match the number of slides/tabs.

sync: "",                       //{NEW} Selector: Mirror the actions performed on this slider with another slider. Use with care.

asNavFor: "",                   //{NEW} Selector: Internal property exposed for turning the slider into a thumbnail navigation for another slider

 

// Carousel Options

itemWidth: 0,                   //{NEW} Integer: Box-model width of individual carousel items, including horizontal borders and padding.

itemMargin: 0,                  //{NEW} Integer: Margin between carousel items.

minItems: 0,                    //{NEW} Integer: Minimum number of carousel items that should be visible. Items will resize fluidly when below this.

maxItems: 0,                    //{NEW} Integer: Maxmimum number of carousel items that should be visible. Items will resize fluidly when above this limit.

move: 0,                        //{NEW} Integer: Number of carousel items that should move on animation. If 0, slider will move all visible items.

                                 

// Callback API

start: function(){},            //Callback: function(slider) - Fires when the slider loads the first slide

before: function(){},           //Callback: function(slider) - Fires asynchronously with each slider animation

after: function(){},            //Callback: function(slider) - Fires after each slider animation completes

end: function(){},              //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)

added: function(){},            //{NEW} Callback: function(slider) - Fires after a slide is added

removed: function(){}           //{NEW} Callback: function(slider) - Fires after a slide is removed



Advanced:

Turn your FlexSlider up to 11

Building the slider on this site

To give you a demonstration on how to use the customizable properties of FlexSlider, we will take a detailed look at how the slider used on this site was configured. Let’s get into it. Building multiple sliders and callback API information are located below the following example.

Setting custom properties

First, we need to add to properties to our flexslider() function. Set the animation property to “slide.” This will give us the slide animation, but will also give our slider element overflow: hidden. To work around this, we can create a container to wrap our slider with, and then tell our FlexSlider to append the control elements to that container by using the controlsContainerproperty. In the markup below, I created a 

 to encompass my slider element. Then, just set thecontrolsContainer property to “.flex-container”. Notice that the css selector is included in this string.


  $(window).load(function() {
    $('.flexslider').flexslider({
          animation: "slide",
          controlsContainer: ".flex-container"
    });
  });

   



  
    
      
  •                
  •       
  •                
  •       
  •                
  •        

       


    Adding captions

    Adding captions with FlexSlider is logical and easy! Simply add any desired html markup to the slide you want it to show up in and add appropriate styles with css. In our example, two slides were given captions by using the 

    element. The .flex-caption class is the default class to add styles to slide captions.

    
      
        
          
  •                  Captions and cupcakes. Winning combination.

          
  •       
  •                  This p_w_picpath is wrapped in a link!

          
  •       
  •                
  •