Hi, thanks for reading my post and thank you for trying to help me out.
I have a background changing script that changes/fade the background image to 1 of 10 images.
I would like two different versions of the same script, a color version and a B&W version.
I would like to add to both the following.
- Random load an image on refresh of browser a first image and display as soon as possible.
- Preload the rest of the images, start rest of animation fade when all preloaded.
- Then load the rest of the 9 color images before looping back to first image
Now the color version is then pretty straight forward finished.
For the B&W one, I would like to:
- Random load on refresh of browser a first image of the 10 B&W images
- Preload the rest of the images, start rest of animation when all preloaded.
- Check which first B&W image is loaded, then for the second image load the color version of the same image and start the animation fade.
- Then display the rest of the 9 B&W images before looping back to first B&W image
I think I need the following to my original script
- Two arrays of images, the 10 color ones and then the 10 B&W ones. (either image1.jpg etc or imnage1bw.jpg etc)
- A preloader
- A randomizer on load/refresh
- A check to see which B&W is loaded to determine the next color image 2
/*
* Author: http://www.weparkdomains.com
*/
// Speed of the automatic slideshow
var slideshowSpeed = 15000;
// Variable to store the images we need to set as background
// which also includes some text and url's.
var photos = [ {
"title" : "Amala Paul",
"image" : "image1.jpg",
"url" : "http://",
"firstline" : "Test",
"secondline" : "Test"
}, {
"title" : "Amala Paul",
"image" : "image2.jpg",
"url" : "http://",
"firstline" : "Test",
"secondline" : "Test"
}, {
"title" : "Amala Paul",
"image" : "image3.jpg",
"url" : "http://",
"firstline" : "Test",
"secondline" : "Test"
}, {
"title" : "Amala Paul",
"image" : "image4.jpg",
"url" : "http://",
"firstline" : "Test",
"secondline" : "Test"
}, {
"title" : "Amala Paul",
"image" : "image5.jpg",
"url" : "http://",
"firstline" : "Test",
"secondline" : "Test"
}, {
"title" : "Amala Paul",
"image" : "image6.jpg",
"url" : "http://",
"firstline" : "Test",
"secondline" : "Test"
}, {
"title" : "Amala Paul",
"image" : "image7.jpg",
"url" : "http://",
"firstline" : "Test",
"secondline" : "Test"
}, {
"title" : "Amala Paul",
"image" : "image8.jpg",
"url" : "http://",
"firstline" : "Test",
"secondline" : "Test"
}, {
"title" : "Amala Paul",
"image" : "image9.jpg",
"url" : "http://",
"firstline" : "Test",
"secondline" : "Test"
}, {
"title" : "Amala Paul",
"image" : "image10.jpg",
"url" : "http://",
"firstline" : "Test",
"secondline" : "Test"
}
];
$(document).ready(function() {
// Backwards navigation
$("#back").click(function() {
stopAnimation();
navigate("back");
});
// Forward navigation
$("#next").click(function() {
stopAnimation();
navigate("next");
});
var interval;
$("#control").toggle(function(){
stopAnimation();
}, function() {
// Change the background image to "pause"
$(this).css({ "background-image" : "url(images/btn_pause.png)" });
// Show the next image
navigate("next");
// Start playing the animation
interval = setInterval(function() {
navigate("next");
}, slideshowSpeed);
});
var activeContainer = 1;
var currentImg = 0;
var animating = false;
var navigate = function(direction) {
// Check if no animation is running. If it is, prevent the action
if(animating) {
return;
}
// Check which current image we need to show
if(direction == "next") {
currentImg++;
if(currentImg == photos.length + 1) {
currentImg = 1;
}
} else {
currentImg--;
if(currentImg == 0) {
currentImg = photos.length;
}
}
// Check which container we need to use
var currentContainer = activeContainer;
if(activeContainer == 1) {
activeContainer = 2;
} else {
activeContainer = 1;
}
showImage(photos[currentImg - 1], currentContainer, activeContainer);
};
var currentZindex = -1;
var showImage = function(photoObject, currentContainer, activeContainer) {
animating = true;
// Make sure the new container is always on the background
currentZindex--;
// Set the background image of the new active container
$("#headerimg" + activeContainer).css({
"background-image" : "url(images/" + photoObject.image + ")",
"display" : "block",
"z-index" : currentZindex
});
// Hide the header text
$("#headertxt").css({"display" : "none"});
// Set the new header text
$("#firstline").html(photoObject.firstline);
$("#secondline")
.attr("href", photoObject.url)
.html(photoObject.secondline);
$("#pictureduri")
.attr("href", photoObject.url)
.html(photoObject.title);
// Fade out the current container
// and display the header text when animation is complete
$("#headerimg" + currentContainer).fadeOut(function() {
setTimeout(function() {
$("#headertxt").css({"display" : "block"});
animating = false;
}, 500);
});
};
var stopAnimation = function() {
// Change the background image to "play"
$("#control").css({ "background-image" : "url(images/btn_play.png)" });
// Clear the interval
clearInterval(interval);
};
// We should statically set the first image
navigate("next");
// Start playing the animation
interval = setInterval(function() {
navigate("next");
}, slideshowSpeed);
});