Hi all,
I’ve been working with a nice little script found on Soh Tanaka’s blog, but I’m having a bit of trouble modifying it.
I’m looking to change the rotation to a fade, and it hasn’t been going well for me.
Any ideas?
Thanks in advance!
$(document).ready(function() {
//Set Default State of each portfolio piece
$(".wonderBar").show();
$(".wonderBar a:first").addClass("active");
//Get size of images, how many there are, then determin the size of the image reel.
var imageWidth = $("#indexTop .left").width();
var imageSum = $(".slideCase img").size();
var imageReelWidth = imageWidth * imageSum;
//Adjust the image reel to its new size
$(".slideCase").css({'width' : imageReelWidth});
//wonderBar + Slider Function
rotate = function(){
var triggerID = $active.attr("rel") - 1; //Get number of times to slide
var slideCasePosition = triggerID * imageWidth; //Determines the distance the image reel needs to slide
$(".wonderBar a").removeClass('active'); //Remove all active class
$active.addClass('active'); //Add active class (the $active is declared in the rotateSwitch function)
//Slider Animation
$(".slideCase").animate({
left: -slideCasePosition
}, 700 );
};
//Rotation + Timing Event
rotateSwitch = function(){
play = setInterval(function(){ //Set timer - this will repeat itself every 3 seconds
$active = $('.wonderBar a.active').next();
if ( $active.length === 0) { //If wonderBar reaches the end...
$active = $('.wonderBar a:first'); //go back to first
}
rotate(); //Trigger the wonderBar and slider function
}, 7000); //Timer speed in milliseconds (3 seconds)
};
rotateSwitch(); //Run function on launch
//On Hover
$(".slideCase a").hover(function() {
clearInterval(play); //Stop the rotation
}, function() {
rotateSwitch(); //Resume rotation
});
//On Click
$(".wonderBar a").click(function() {
$active = $(this); //Activate the clicked wonderBar
//Reset Timer
clearInterval(play); //Stop the rotation
rotate(); //Trigger rotation immediately
rotateSwitch(); // Resume rotation
return false; //Prevent browser jump to link anchor
});
});