I found a script to rotate images in the header but I come adrift when I try to have two images which both rotate.
I thought this would be easier than trying to do it in Flash. The script is :
var interval = 2.5; // delay between rotating images (in seconds)
var random_display = 1; // 0 = no, 1 = yes
interval *= 1000;
var image_index = 0;
image_list = new Array();
image_list[image_index++] = new imageItem("../images/header1/blue.jpg");
image_list[image_index++] = new imageItem("../images/header1/bougainvillia.jpg");
image_list[image_index++] = new imageItem("../images/header1/cherry.jpg");
image_list[image_index++] = new imageItem("../images/header1/iris.jpg");
var number_of_image = image_list.length;
function imageItem(image_location) {
this.image_item = new Image();
this.image_item.src = image_location;
}
function get_ImageItemLocation(imageObj) {
return(imageObj.image_item.src)
}
function generate(x, y) {
var range = y - x + 1;
return Math.floor(Math.random() * range) + x;
}
function getNextImage() {
if (random_display) {
image_index = generate(0, number_of_image-1);
}
else {
image_index = (image_index+1) % number_of_image;
}
var new_image = get_ImageItemLocation(image_list[image_index]);
return(new_image);
}
function rotateImage(place) {
var new_image = getNextImage();
document[place].src = new_image;
var recur_call = "rotateImage('"+place+"')";
setTimeout(recur_call, interval);
}
Then there is <body onLoad="rotateImage('rImage')">
At the point where the first image is located:
<img src="images/header1/blue.jpg" name="rImage" width=350 height=95 class="imgLeftHdr" />
But I can't figure out what to do with the second image location. If I call it "rImage" like the first, it just causes the script to fail altogether.
Can you point me in the right direction, or am I trying to do the impossible. My testing page is
I thought this would be easier than trying to do it in Flash. The script is :
var interval = 2.5; // delay between rotating images (in seconds)
var random_display = 1; // 0 = no, 1 = yes
interval *= 1000;
var image_index = 0;
image_list = new Array();
image_list[image_index++] = new imageItem("../images/header1/blue.jpg");
image_list[image_index++] = new imageItem("../images/header1/bougainvillia.jpg");
image_list[image_index++] = new imageItem("../images/header1/cherry.jpg");
image_list[image_index++] = new imageItem("../images/header1/iris.jpg");
var number_of_image = image_list.length;
function imageItem(image_location) {
this.image_item = new Image();
this.image_item.src = image_location;
}
function get_ImageItemLocation(imageObj) {
return(imageObj.image_item.src)
}
function generate(x, y) {
var range = y - x + 1;
return Math.floor(Math.random() * range) + x;
}
function getNextImage() {
if (random_display) {
image_index = generate(0, number_of_image-1);
}
else {
image_index = (image_index+1) % number_of_image;
}
var new_image = get_ImageItemLocation(image_list[image_index]);
return(new_image);
}
function rotateImage(place) {
var new_image = getNextImage();
document[place].src = new_image;
var recur_call = "rotateImage('"+place+"')";
setTimeout(recur_call, interval);
}
Then there is <body onLoad="rotateImage('rImage')">
At the point where the first image is located:
<img src="images/header1/blue.jpg" name="rImage" width=350 height=95 class="imgLeftHdr" />
But I can't figure out what to do with the second image location. If I call it "rImage" like the first, it just causes the script to fail altogether.
Can you point me in the right direction, or am I trying to do the impossible. My testing page is