I'm trying to fade rotate between 3 divs, current code:
$(window).load(function(){
var div1 = $("#apDiv1");
var div2 = $("#apDiv2");
function fade() {
div1.stop(true, true).fadeIn(2000);
div2.stop(true, true).fadeOut(2000, function() {
// swap in/out
var temp = div1;
div1 = div2;
div2 = temp;
// start over again
setTimeout(fade, 1000);
});
}
// start the process
fade(); })
This works great with 2 divs, but is it possible to insert a 3rd one into the rotation ?
I tried like so:
$(window).load(function(){
var div1 = $("#apDiv1");
var div2 = $("#apDiv2");
var div3 = $("#apDiv3");
function fade() {
div1.stop(true, true).fadeIn(2000);
div2.stop(true, true).fadeOut(2000);
div3.stop(true, true).fadeIn(2000);
div1.stop(true, true).fadeOut(2000, function() {
// swap in/out
var
temp = div1
div1 = div2;
div2 = div3;
div3 = div1;
div1 = temp
// start over again
setTimeout(fade, 1000);
});
}
// start the process
fade(); })
But that just skips it / doesn't work at all.
Best Solution
To be fair if you are going to use more than two divs I would rewrite that function so it will do any amount rather than just three divs
I have assumed that your divs look something like this (I have given them a class of
fade
with the starting one having a class ofcurrent
)given this structure you can use the following jquery within your
window.load
:Example