Forums

The forums ran from 2008-2020 and are now closed and viewable here as an archive.

Home Forums JavaScript stripped down slider for customizing Re: stripped down slider for customizing

#102122
mdrd88
Participant

Sorry for double post.

well, to keep you guys up to date, I found some js that is working for me, just have a few questions.

$(document).ready(function() {

//Execute the slideShow, set 4 seconds for each images
slideShow(2000);

});

function slideShow(speed) {

//Call the gallery function to run the slideshow
window.setInterval('gallery()', 2000);

//Set the opacity of all images to 0
$('ul.slideshow li').css({opacity: 0.0});

//Get the first image and display it (set it to full opacity)
$('ul.slideshow li:first').css({opacity: 1.0}).addClass('show');


//pause the slideshow on mouse over
$('ul.slideshow').hover(
function () {
clearInterval(timer);
},
function () {
timer = setInterval('gallery()',speed);
}
);

}

function gallery() {


//if no IMGs have the show class, grab the first image
var current = ($('ul.slideshow li.show')? $('ul.slideshow li.show') : $('#ul.slideshow li:first'));

//trying to avoid speed issue
if(current.queue('fx').length == 0) {

//Get next image, if it reached the end of the slideshow, rotate it back to the first image
var next = ((current.next().length) ? ((current.next().attr('id') == 'slideshow-caption')? $('ul.slideshow li:first') :current.next()) : $('ul.slideshow li:first'));

//Get next image caption
var title = next.find('img').attr('title');
var desc = next.find('img').attr('alt');

//Set the fade in effect for the next image, show class has higher z-index
next.css({opacity: 0.0}).addClass('show').animate({opacity: 1.0}, 1000);

//Hide the caption first, and then set and display the caption
$('#slideshow-caption').slideToggle(300, function () {
$('#slideshow-caption h3').html(title);
$('#slideshow-caption p').html(desc);
$('#slideshow-caption').slideToggle(500);
});

//Hide the current image
current.animate({opacity: 0.0}, 1000).removeClass('show');

}

}

first question is if you look at my li class, it say “current” their li class was “show”, so why is it still working even though the li class doesn’t match? I know it’s not a big deal just curious.

Secondly, does this seem like some good, simple js? Or should I make some changes so it’s more efficient, streamline, and makes more sense?