【jQuery】MovingBoxes

Sort demo

HTML

<link rel="stylesheet" href="http://chriscoyier.github.com/MovingBoxes/css/movingboxes.css">
<script src="http://chriscoyier.github.com/MovingBoxes/js/jquery.movingboxes.js"></script>
<script src="http://open-cooliris.googlecode.com/svn-history/r2/trunk/fancy/jquery.easing.1.3.js"></script>
<!--[if lt IE 9]>
<link  type="text/css"  href="http://chriscoyier.github.com/MovingBoxes/css/movingboxes-ie.css"  rel="stylesheet" media="screen" />
<![endif]-->

<ul id="slider">
    
    <li>
        <img src="http://chriscoyier.github.com/MovingBoxes/demo/1.jpg" alt="picture" />
        <h2>Olivia News Heading</h2>
        <p>A very short exerpt goes here... <a href="http://flickr.com/photos/justbcuz/112479862/">more</a></p>
    </li>
    
    <li>
        <img src="http://chriscoyier.github.com/MovingBoxes/demo/2.jpg" alt="picture" />
        <h2>Alice News Heading</h2>
        <p>A very short exerpt goes here... <a href="http://flickr.com/photos/joshuacraig/2698975899/">more</a> and a whole lot more text goes here, so we can see the height adjust.</p>
    </li>
    
    <li>
        <img src="http://chriscoyier.github.com/MovingBoxes/demo/3.jpg" alt="picture" />
        <h2>Yin News Heading</h2>
        <p>A very short exerpt goes here... <a href="http://flickr.com/photos/ruudvanleeuwen/468309897/">more</a></p>
    </li>
    
    <li>
        <img src="http://chriscoyier.github.com/MovingBoxes/demo/4.jpg" alt="picture" />
        <h2>Gerri News Heading</h2>
        <p>A very short exerpt goes here... <a href="http://flickr.com/photos/emikohime/294092478/">more</a></p>
    </li>
    
    <li>
        <img src="http://chriscoyier.github.com/MovingBoxes/demo/5.jpg" alt="picture" />
        <h2>Tabitha News Heading</h2>
        <p>A very short exerpt goes here... <a href="http://www.flickr.com/photos/fensterbme/499006584/">more</a></p>
    </li>
    
    <li>
        <img src="http://chriscoyier.github.com/MovingBoxes/demo/6.jpg" alt="picture" />
        <h2>Mary News...

CSS

#slider {
    width: 500px;
}
#slider li {
    width: 300px;
}

JavaScript

$('#slider').movingBoxes({

    // overall width of movingBoxes
    // width: 300, // Deprecated, but still works in v2.2.2
    // current panel width adjusted to 50% of overall width
    // panelWidth: 0.5, // Deprecated, but still works in v2.2.2    
    
    // **** Appearance ****
    // start with this panel
    startPanel: 1,
    // non-current panel size: 80% of panel size
    reducedSize: 1,
    // if true, slider height set to max panel height; if false, height will auto adjust.
    fixedHeight: false,
    
    // **** Behaviour ****
    // animation time in milliseconds
    speed: 500,
    // if true, hash tags are enabled
    hashTags: false,
    // if true, the panel will "wrap" (it really rewinds/fast forwards) at the ends
    wrap: true,
    // if true, navigation links will be added
    buildNav: true,
    // function which returns the navigation text for each panel
    navFormatter: function(index, panel){ return "&#9679;" },
    // anything other than "linear" or "swing" requires the easing plugin
    easing: 'easeInOutBack',
    
    // **** Selectors & classes ****
    // current panel class
    currentPanel: 'current',
    // added to the navigation, but the title attribute is blank unless the link text-indent is negative
    tooltipClass: 'tooltip',
    
    // **** Callbacks ****
    // e = event, slider = MovingBoxes Object, tar = current panel #
    // callback when MovingBoxes has completed initialization
    initialized: function(e, slider, tar){},
    // callback upon change panel initialization
    initChange: function(e, slider, tar){
        // alert( 'Changing panels to #' + tar );
    },
    // callback before any animation occurs
    beforeAnimation: function(e, slider, tar){},
    // callback after animation completes
    completed: function(e, slider, tar){
        // get name from title
        // var name = slider.$panels.eq(tar-1).find('h2').text().split(' ')[0]; 
        // alert( "Now on " + name + "'s panel" );
    }

});