For the handful of folks wanting to see my jQuery slideshow with a crossfade effect, the following code includes the necessary modifications so that at the moment one slide begins to fade out the next begins to fade in.
var $$ = $.fn;
$$.extend({
SplitID : function()
{
return this.attr('id').split('-').pop();
},
Slideshow : {
Ready : function()
{
$('div.tmpSlideshowControl')
.hover(
function() {
$(this).addClass('tmpSlideshowControlOn');
},
function() {
$(this).removeClass('tmpSlideshowControlOn');
}
)
.click(
function() {
$$.Slideshow.Interrupted = true;
$('div.tmpSlide').hide();
$('div.tmpSlideshowControl').removeClass('tmpSlideshowControlActive');
$('div#tmpSlide-' + $(this).SplitID()).show()
$(this).addClass('tmpSlideshowControlActive');
$$.Slideshow.Counter = parseInt($(this).SplitID());
setTimeout('$$.Slideshow.Resume();', 5000); // Resume after 5 seconds
}
);
this.Counter = 1;
this.Interrupted = false;
this.Transition();
},
Resume : function()
{
this.Interrupted = false;
this.Transition();
},
Transition : function()
{
if (this.Interrupted) {
return;
}
this.Last = this.Counter - 1;
if (this.Last < 1) {
this.Last = 3;
}
$('div#tmpSlide-' + this.Last).fadeOut(1000);
$('div#tmpSlide-' + $$.Slideshow.Counter).fadeIn(
1000,
function() {
$('div#tmpSlideshowControl-' + $$.Slideshow.Last).removeClass('tmpSlideshowControlActive');
$('div#tmpSlideshowControl-' + $$.Slideshow.Counter).addClass('tmpSlideshowControlActive');
$$.Slideshow.Counter++;
if ($$.Slideshow.Counter > 3) {
$$.Slideshow.Counter = 1;
}
setTimeout('$$.Slideshow.Transition();', 5000);
}
);
}
}
});
$(document).ready(
function() {
$$.Slideshow.Ready();
}
);
var $$ = $.fn;
$$.extend({
SplitID : function()
{
return this.attr('id').split('-').pop();
},
Slideshow : {
Ready : function()
{
$('td.thumbnail')
.hover(
function() {
$(this).addClass('thumbnail_hover');
},
function() {
$(this).removeClass('thumbnail_hover');
}
)
.click(
function() {
$$.Slideshow.Interrupted = true;
$('div.slide').fadeOut(1000);
$('td.thumbnail').removeClass('thumbnail_selected');
$('div#slide-' + $(this).SplitID()).fadeIn(1000);
$(this).addClass('thumbnail_selected');
$$.Slideshow.Counter = parseInt($(this).SplitID());
setTimeout('$$.Slideshow.Resume();', 10000); // Resume after 10 seconds
}
);
this.Counter = 1;
this.Interrupted = false;
this.Transition();
},
Resume : function()
{
this.Interrupted = false;
this.Transition();
},
Transition : function()
{
if (this.Interrupted) {
return;
}
this.Last = this.Counter - 1;
if (this.Last < 1) {
this.Last = $('div.slide').length;
}
$('div#slide-' + this.Last).fadeOut(1000);
$('div#slide-' + $$.Slideshow.Counter).fadeIn(1000,
function() {
$('td#thumbnail-' + $$.Slideshow.Last).removeClass('thumbnail_selected');
$('td#thumbnail-' + $$.Slideshow.Counter).addClass('thumbnail_selected');
$$.Slideshow.Counter++;
if ($$.Slideshow.Counter > $('div.slide').length) {
$$.Slideshow.Counter = 1;
}
setTimeout('$$.Slideshow.Transition();', 3000);
}
);
}
}
});
$(document).ready(
function() {
$$.Slideshow.Ready();
}
);
var $$ = $.fn;
$$.extend({
SplitID : function()
{
return this.attr('id').split('-').pop();
},
Slideshow : {
Ready : function()
{
$('td.thumbnail')
.hover(
function() {
$(this).addClass('thumbnail_hover');
},
function() {
$(this).removeClass('thumbnail_hover');
}
)
.click(
function() {
$$.Slideshow.Interrupted = true;
$('div.slide').fadeOut(1000);
$('td.thumbnail').removeClass('thumbnail_selected');
$('div#slide-' + $(this).SplitID()).fadeIn(1000);
$(this).addClass('thumbnail_selected');
$('img.playPauseButton').attr('src', 'img/play.png');
//document.write ( parseInt($(this).SplitID()) );
// $$.Slideshow.Counter = parseInt($(this).SplitID());
// $$.Slideshow.Resume();
}
);
$('img.playPauseButton').click (
function() {
if ($$.Slideshow.Interrupted == true) {
$(this).attr('src', 'img/pause.png');
$$.Slideshow.Resume();
} else {
$(this).attr('src', 'img/play.png');
$$.Slideshow.Interrupted = true;
}
}
);
this.Counter = 1;
this.Interrupted = false;
this.Transition();
},
Resume : function()
{
this.Interrupted = false;
this.Transition();
},
Transition : function()
{
if (this.Interrupted) {
return;
}
this.Last = this.Counter - 1;
if (this.Last < 1) {
this.Last = $('div.slide').length;
}
$('div#slide-' + this.Last).fadeOut(1000);
$('div#slide-' + $$.Slideshow.Counter).fadeIn(1000,
function() {
$('td#thumbnail-' + $$.Slideshow.Last).removeClass('thumbnail_selected');
$('td#thumbnail-' + $$.Slideshow.Counter).addClass('thumbnail_selected');
$$.Slideshow.Counter++;
if ($$.Slideshow.Counter > $('div.slide').length) {
$$.Slideshow.Counter = 1;
}
setTimeout('$$.Slideshow.Transition();', 3000);
}
);
}
}
});
$(document).ready(
function() {
$$.Slideshow.Ready();
}
);