Step. 1:
<div style="-moz-user-select: none;" id="carousel"> <div id="image"> <a target="_self" href=""> <img style="display: inline;" alt="title image " class="carousel-image" src="1.jpg" width="584" height="288"></a> <a target="_self" href=""> <img style="display: none;" alt="title image " class="carousel-image" src="2.jpg" width="584" height="288"></a> <a target="_self" href=""> <img style="display: none;" alt="title image " class="carousel-image" src="3.jpg" width="584" height="288"></a> <a target="_self" href=""><img style="display: none;" alt="title image " class="carousel-image" src="4.jpg" width="584" height="288"></a> </div> <div style="opacity: 0.9;" id="banner"> </div> <div id="info"> <h2 style="display: block;" class="headline"> <a target="_self" href="">Heading One</a></h2> <p style="display: block;" class="teaser"> description will come here. description will come here . description will come here . </p> <h2 style="display: none;" class="headline"><a target="_self" href="">Heading Two</a></h2> <p style="display: none;" class="teaser"> description will come here. description will come here . description will come here . </a> </p> <h2 style="display: none;" class="headline"> <a target="_self" href="">Heading Three</a></h2> <p style="display: none;" class="teaser"> description will come here. description will come here. description will come here .</a> </p> <h2 style="display: none;" class="headline"><a target="_self" href="">Heading Three</a></h2> <p style="display: none;" class="teaser"> description will come here. description will come here. description will come here.</a> </p> <div id="nav"> <ul class="button-holder"> <li style="display: block;" class="button prev-position" id="prev"></li> </ul> <ul class="button-holder" id="buttons"> <li style="display: inline;" class="button on" id="carouselSlide1">1</li> <li style="display: inline;" class="button off" id="carouselSlide2">2</li> <li style="display: inline;" class="button off" id="carouselSlide3">3</li> <li style="display: inline;" class="button off" id="carouselSlide4">4</li> </ul> <ul class="button-holder"> <li style="display: block;" class="button next-position" id="next"></li> </ul> </div> </div> </div>
Step. 2:
var $j = jQuery;
$j(document).ready(function() {
//
// extend the core jQuery with disableSelection
jQuery.fn.extend({
disableSelection : function() {
this.each(function() {
this.onselectstart = function() {
return false;
};
this.unselectable = "on";
jQuery(this).css('-moz-user-select', 'none');
});
}
});
//
// disable selection of grade by grade
$j('#carousel').disableSelection();
// initialize state
$j('#banner').animate({"opacity" : .9}, 0);
$j('#info h2, #info p, #image img,#buttons li,#next,#prev').hide();
var MINI = 1; // at least one slide must be set in the carousel
var MAXI = 8; // no more than 8 slides can be set in the carousel
var i = 1;
var images = $j('#image img');
var SETI = (images ? images.size() : 0);
var fadeTime = 2000;
var holdTime = 4000;
var swapTime = 2000;
var holdID = null;
var swapID = null;
if (SETI > MAXI) {
SETI = MAXI;
}
if (SETI < MINI) {
SETI = MINI;
}
// Run animation
// Initially, image 1 fadeIn over 2 secs
// image 1 holds for 4 secs
var fadeInSlide = function() {
$j('#image img:eq(' + (i - 1) + ')').fadeIn(fadeTime);
holdID = setTimeout(fadeOutSlide, holdTime);
}
// image 1 fadeOut over 2 secs
// blank holds for 2 secs
var fadeOutSlide = function() {
clearTimeout(holdID);
$j('#image img:eq(' + (i - 1) + ')').fadeOut(fadeTime);
swapID = setTimeout(nextSlide, swapTime);
}
// text 1 hides
// nav goes to 2
// text 2 shows
var nextSlide = function() {
clearTimeout(swapID);
if (i >= SETI) {
i = MINI;
} else {
i++;
}
setText(i);
setButtonState(i);
fadeInSlide();
}
// image 2 fadeIn over 2 secs
// Stop animation
if (SETI > MINI) {
$j('#carousel').mouseover(function() {
// Pause animation on mouseover
clearTimeout(holdID);
clearTimeout(swapID);
setImage(i);
setText(i);
setButtonState(i);
});
$j('#carousel').mouseout(function() {
// Restart animation on mouseout
holdID = setTimeout(fadeOutSlide, holdTime);
});
}
// set state
var setText = function(slideNumber) {
$j('#info h2').hide();
$j('#info h2:eq(' + (slideNumber - 1) + ')').show();
$j('#info p').hide();
$j('#info p:eq(' + (slideNumber - 1) + ')').show();
}
var setImage = function(slideNumber) {
$j('#image img').hide();
$j('#image img:eq(' + (slideNumber - 1) + ')').show();
}
var setButtonState = function(slideNumber) {
$j('#buttons li').removeClass('on');
$j('#buttons li').addClass('off');
$j('#buttons li:eq(' + (slideNumber - 1) + ')').removeClass('off');
$j('#buttons li:eq(' + (slideNumber - 1) + ')').addClass('on');
}
var showButtons = function() {
if (SETI > MINI) {
$j('#next').show();
$j('#prev').show();
$j('#buttons li:lt(' + (SETI) + ')').show();
}
}
// change button state
$j('#buttons li').click(function() {
var id = $j(this).attr('id');
i = id.replace('carouselSlide','');
$j('#buttons li').removeClass('on');
$j('#buttons li').addClass('off');
$j(this).removeClass('off');
$j(this).addClass('on');
setImage(i);
setText(i);
});
// next button
$j('#next').click(function() {
if (i >= SETI) {
i = MINI;
} else {
i++;
}
setImage(i);
setText(i);
setButtonState(i);
});
// previous button
$j('#prev').click(function() {
if (i <= MINI) {
i = SETI;
} else {
i--;
}
setImage(i);
setText(i);
setButtonState(i);
});
// start animation
if (SETI > MINI) {
showButtons();
setText(i);
setImage(i);
setButtonState(i);
holdID = setTimeout(fadeOutSlide, holdTime);
} else {
setText(i);
setImage(i);
}
});Step. 3:
ul,li
{
list-style: none;
}
#carousel,#carousel_no
{
margin: 15px 0;
moz-user-select: none;
webkit-user-select: none;
}
#carousel .headline
{
color: #06b;
font: normal 26px / 1.3 Georgia,"Times New Roman",Times,serif;
}
#carousel .text3
{
color: #333;
font: normal 12px / 1.3 Arial,Helvetica,sans-serif;
}
#carousel .link
{
color: #06b;
}
#carousel .alertdblarrow
{
color: #d61;
font: bold 15px Arial,Helvetica,sans-serif;
}
#carousel a
{
text-decoration: none;
}
#carousel,#carousel_no
{
background-color: white;
border: 6px solid #ccc;
display: block;
height: 290px;
position: relative;
width: 586px;
}
#carousel #image,#carousel_no #image_static
{
display: block;
height: 288px;
left: 1px;
position: absolute;
top: 1px;
width: 584px;
}
#image .carousel-image
{
border: none;
display: none;
left: 0;
position: absolute;
top: 0;
}
#carousel #banner
{
background-color: white;
bottom: 1px;
height: 60px;
left: 1px;
position: absolute;
width: 584px;
}
#carousel #info
{
bottom: 1px;
height: 90px;
left: 1px;
position: absolute;
width: 584px;
}
#info .headline
{
display: none;
left: 14px;
margin: 0;
padding: 0;
position: absolute;
top: 6px;
}
#info .teaser
{
top: 35px;
display: none;
left: 14px;
margin: 0;
padding: 0;
position: absolute;
}
#carousel #info #nav
{
bottom: 8px;
position: absolute;
right: 25px;
}
#nav .button-holder
{
list-style: none outside none;
margin: 0;
padding: 0;
}
#nav .button
{
cursor: pointer;
display: inline;
}
#carousel .on
{
background-color: #d61;
border: 1px solid white;
color: white;
font: normal 12px / 1.5 Arial,Helvetica,sans-serif;
letter-spacing: 0;
padding: 1px 2px;
}
#carousel .off
{
background-color: #cbcbcb;
border: 1px solid white;
color: #333;
font: normal 12px / 1.5 Arial,Helvetica,sans-serif;
letter-spacing: 0;
padding: 1px 2px;
}
#carousel #prev
{
border-bottom: 9px solid rgba(255,255,255,0.0);
border-right: 9px solid #06b;
border-top: 9px solid rgba(255,255,255,0.0);
filter: alpha(opacity = 100);
font-size: 0;
letter-spacing: 0;
line-height: 0;
width: 0;
top:2px;
}
#carousel #next
{
border-bottom: 9px solid rgba(255,255,255,0.0);
border-left: 9px solid #06b;
border-top: 9px solid rgba(255,255,255,0.0);
filter: alpha(opacity = 100);
font-size: 0;
letter-spacing: 0;
line-height: 0;
width: 0;
top:3px;
}
#carousel .prev-position
{
left: -11px;
position: absolute;
top: 0;
}
#carousel .next-position
{
position: absolute;
right: -11px;
top: 0;
}Demo