##### Original By Chris Coyier, expanded upon by many others

# AnythingSlider

Theme:

- ### Other Information

  - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla aliquet accumsan eros, et iaculis massa fringilla auctor.
  - Proin a mi ante, ut lobortis risus. Sed fringilla augue sed enim faucibus eget aliquam tellus ultricies.
  - Morbi a magna eu ligula scelerisque lobortis vel non nisi.
  - Aliquam condimentum libero eget elit ultrices sit amet ullamcorper felis gravida.

- ### Queenie's Killer Tomato Bagel Sandwich

  #### Ingredients

  - 1 bagel, split and toasted
  - 2 tablespoons cream cheese
  - 1 roma (plum) tomatoes, thinly sliced
  - salt and pepper to taste
  - 4 leaves fresh basil

- > In awe I watched the waxing moon ride across the zenith of the heavens like an ambered chariot towards the ebon void of infinite space wherein the tethered belts of Jupiter and Mars hang forever festooned in their orbital majesty. And as I looked at all this I thought... I must put a roof on this lavatory.
  > -- Les Dawson

- > Life is conversational. Web design should be the same way. On the web, you’re talking to someone you’ve probably never met - so it’s important to be clear and precise. Thus, well structured navigation and content organization goes hand in hand with having a good conversation.

  - Chikezie Ejiasi

## Features

- Panels are HTML Content (can be anything).
- Change content by scrolling horizontally or vertically, or by cross-fading* between slides. * New in version 1.8!
- Multiple AnythingSliders allowable per-page.
- Add or remove content, then easily update the slider.
- Themes can be applied to individual sliders.
- Infinite/Continuous sliding (always slides in the direction you are going, even at "last" slide). This can be disabled.
- Show multiple slides within AnythingSlider at once (added version 1.5.14).
- Expand the slider to fit inside of its container (so it now works with full width or any percentage width fluid layouts; added in version 1.5.16).
- Optionally resize each panel (specified per panel in css).
- Optional Next / Previous Panel Arrows.
- Use keyboard navigation or tabs that are built and added dynamically (any number of panels).
- Link to specific slides or go forward or back one slide from static text links - go to Slide 4 (Quote #2) in second example.
- Each panel has a hashtag (can link directly to specific panels) or use the ID of an element inside the panel.
- Optional custom function for formatting navigation text.
- Auto-playing slideshow (optional feature, can start playing or stopped).
- Pauses slideshow on hover (optional).
- Optionally play the slideshow once through, stopping on the last page.
- Extend the script by binding to custom events, last triggered event: none
- Optional FX extension to add animation to panels elements as they scroll into and out of view. See the demo page.
- Optional Video extension allows video to pauses playing when not in view and resumes when in view (if files are hosted on the web). This currently works for YouTube, Vimeo and HTML5 video; added in version 1.6.
- Works with jQuery 1.4.2+.

## Default Options

See the documentation for complete description of these options (appearance, navigation, slideshow, callbacks & events, video, interativity & misc).

>     $('#slider').anythingSlider({
>       // Appearance
>       theme               : "default", // Theme name
>       mode                : "horiz",   // Set mode to "horizontal", "vertical" or "fade" (only first letter needed); replaces vertical option
>       expand              : false,     // If true, the entire slider will expand to fit the parent element
>       resizeContents      : true,      // If true, solitary images/objects in the panel will expand to fit the viewport
>       showMultiple        : false,     // Set this value to a number and it will show that many slides at once
>       easing              : "swing",   // Anything other than "linear" or "swing" requires the easing plugin or jQuery UI

>       buildArrows         : true,      // If true, builds the forwards and backwards buttons
>       buildNavigation     : true,      // If true, builds a list of anchor links to link to each panel
>       buildStartStop      : true,      // If true, builds the start/stop button

>       appendForwardTo     : null,      // Append forward arrow to a HTML element (jQuery Object, selector or HTMLNode), if not null
>       appendBackTo        : null,      // Append back arrow to a HTML element (jQuery Object, selector or HTMLNode), if not null
>       appendControlsTo    : null,      // Append controls (navigation + start-stop) to a HTML element (jQuery Object, selector or HTMLNode), if not null
>       appendNavigationTo  : null,      // Append navigation buttons to a HTML element (jQuery Object, selector or HTMLNode), if not null
>       appendStartStopTo   : null,      // Append start-stop button to a HTML element (jQuery Object, selector or HTMLNode), if not null

>       toggleArrows        : false,     // If true, side navigation arrows will slide out on hovering & hide @ other times
>       toggleControls      : false,     // if true, slide in controls (navigation + play/stop button) on hover and slide change, hide @ other times

>       startText           : "Start",   // Start button text
>       stopText            : "Stop",    // Stop button text
>       forwardText         : "&raquo;", // Link text used to move the slider forward (hidden by CSS, replaced with arrow image)
>       backText            : "&laquo;", // Link text used to move the slider back (hidden by CSS, replace with arrow image)
>       tooltipClass        : "tooltip", // Class added to navigation & start/stop button (text copied to title if it is hidden by a negative text indent)

>       // Function
>       enableArrows        : true,      // if false, arrows will be visible, but not clickable.
>       enableNavigation    : true,      // if false, navigation links will still be visible, but not clickable.
>       enableStartStop     : true,      // if false, the play/stop button will still be visible, but not clickable. Previously "enablePlay"
>       enableKeyboard      : true,      // if false, keyboard arrow keys will not work for this slider.

>       // Navigation
>       startPanel          : 1,         // This sets the initial panel
>       changeBy            : 1,         // Amount to go forward or back when changing panels.
>       hashTags            : true,      // Should links change the hashtag in the URL?
>       infiniteSlides      : true,      // if false, the slider will not wrap & not clone any panels
>       navigationFormatter : null,      // Details at the top of the file on this use (advanced use)
>       navigationSize      : false,     // Set this to the maximum number of visible navigation tabs; false to disable

>       // Slideshow options
>       autoPlay            : false,     // If true, the slideshow will start running; replaces "startStopped" option
>       autoPlayLocked      : false,     // If true, user changing slides will not stop the slideshow
>       autoPlayDelayed     : false,     // If true, starting a slideshow will delay advancing slides; if false, the slider will immediately advance to the next slide when slideshow starts
>       pauseOnHover        : true,      // If true & the slideshow is active, the slideshow will pause on hover
>       stopAtEnd           : false,     // If true & the slideshow is active, the slideshow will stop on the last page. This also stops the rewind effect when infiniteSlides is false.
>       playRtl             : false,     // If true, the slideshow will move right-to-left

>       // Times
>       delay               : 3000,      // How long between slideshow transitions in AutoPlay mode (in milliseconds)
>       resumeDelay         : 15000,     // Resume slideshow after user interaction, only if autoplayLocked is true (in milliseconds).
>       animationTime       : 600,       // How long the slideshow transition takes (in milliseconds)
>       delayBeforeAnimate  : 0,         // How long to pause slide animation before going to the desired slide (used if you want your "out" FX to show).

>       // Callbacks
>       onBeforeInitialize  : function(e, slider) {}, // Callback before the plugin initializes
>       onInitialized       : function(e, slider) {}, // Callback when the plugin finished initializing
>       onShowStart         : function(e, slider) {}, // Callback on slideshow start
>       onShowStop          : function(e, slider) {}, // Callback after slideshow stops
>       onShowPause         : function(e, slider) {}, // Callback when slideshow pauses
>       onShowUnpause       : function(e, slider) {}, // Callback when slideshow unpauses - may not trigger properly if user clicks on any controls
>       onSlideInit         : function(e, slider) {}, // Callback when slide initiates, before control animation
>       onSlideBegin        : function(e, slider) {}, // Callback before slide animates
>       onSlideComplete     : function(slider) {},    // Callback when slide completes; this is the only callback without an event "e" parameter

>       // Interactivity
>       clickForwardArrow   : "click",         // Event used to activate forward arrow functionality (e.g. add jQuery mobile's "swiperight")
>       clickBackArrow      : "click",         // Event used to activate back arrow functionality (e.g. add jQuery mobile's "swipeleft")
>       clickControls       : "click focusin", // Events used to activate navigation control functionality
>       clickSlideshow      : "click",         // Event used to activate slideshow play/stop button
>       allowRapidChange    : false,           // If true, allow rapid changing of the active pane, instead of ignoring activity during animation

>       // Video
>       resumeOnVideoEnd    : true,      // If true & the slideshow is active & a supported video is playing, it will pause the autoplay until the video is complete
>       resumeOnVisible     : true,      // If true the video will resume playing (if previously paused, except for YouTube iframe - known issue); if false, the video remains paused.
>       addWmodeToObject    : "opaque",  // If your slider has an embedded object, the script will automatically add a wmode parameter with this setting
>       isVideoPlaying      : function(base){ return false; } // return true if video is playing or false if not - used by video extension
>     });

## Known Issues

- Please refer to the documentation.

## Changelog

- See the full change log here.