Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Shaun E on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Fading Image Slideshow Script???

Status
Not open for further replies.

budapestnori

Technical User
Jan 15, 2004
33
HU
Ok, I have a page which currently has a java applet which takes three images. Each one has three images in it. (you have to see to understand what I am saying, but there are three images in each image. See - I had previously used three seperate applets, but opted not to for effeciency reasons on the client cpu. I found a script for javascript with would theoritically allow me to do the same thing, but what I want is three instances of this effect on the same page, each instance rotating three images. Does all this make sense? I found this code, but am curious to know if it can be modified to do what I want, instead of being multiplied 3x to do it. Thanks, here is the code, if someone knows something better, pleae let me know.

<!-- THREE STEPS TO INSTALL FADING SLIDE SHOW:

1. Copy the coding into the HEAD of your HTML document
2. Add the onLoad event handler into the BODY tag
3. Put the last coding into the BODY of your HTML document -->

<!-- STEP ONE: Paste this code into the HEAD of your HTML document -->

<HEAD>

<SCRIPT LANGUAGE=&quot;JavaScript&quot;>
<!-- Original: CodeLifter.com (support@codelifter.com) -->
<!-- Web Site: -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! -->

<!-- Begin
// Set slideShowSpeed (milliseconds)
var slideShowSpeed = 5000;
// Duration of crossfade (seconds)
var crossFadeDuration = 3;
// Specify the image files
var Pic = new Array();
// to add more images, just continue
// the pattern, adding to the array below

Pic[0] = '1.jpg'
Pic[1] = '2.jpg'
Pic[2] = '3.jpg'
Pic[3] = '4.jpg'
Pic[4] = '5.jpg'

// do not edit anything below this line
var t;
var j = 0;
var p = Pic.length;
var preLoad = new Array();
for (i = 0; i < p; i++) {
preLoad = new Image();
preLoad.src = Pic;
}
function runSlideShow() {
if (document.all) {
document.images.SlideShow.style.filter=&quot;blendTrans(duration=2)&quot;;
document.images.SlideShow.style.filter=&quot;blendTrans(duration=crossFadeDuration)&quot;;
document.images.SlideShow.filters.blendTrans.Apply();
}
document.images.SlideShow.src = preLoad[j].src;
if (document.all) {
document.images.SlideShow.filters.blendTrans.Play();
}
j = j + 1;
if (j > (p - 1)) j = 0;
t = setTimeout('runSlideShow()', slideShowSpeed);
}
// End -->
</script>

</HEAD>

<!-- STEP TWO: Insert the onLoad event handler into your BODY tag -->

<BODY onLoad=&quot;runSlideShow()&quot;>

<!-- STEP THREE: Copy this code into the BODY of your HTML document -->

<table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;>
<tr>
<td id=&quot;VU&quot; height=150 width=150>
<img src=&quot;1.jpg&quot; name='SlideShow' width=150 height=150>
</td>
</tr>
</table>

<p><center>
<font face=&quot;arial, helvetica&quot; size&quot;-2&quot;>Free JavaScripts provided<br>
by <a href=&quot; JavaScript Source</a></font>
</center><p>

<!-- Script Size: 2.13 KB -->
 
Is this the right approach:

var t;
var j = 0;
var p = Pic.length;
var p2 = Pic.length;
var p3 = Pic.length;

var preLoad = new Array();
var preLoad2 = new Array();
var preLoad3 = new Array();

for (i = 0; i < p; i++) {
preLoad = new Image();
preLoad.src = Pic;
preLoad2 = new Image();
preLoad2.src = Pic2;
preLoad3 = new Image();
preLoad3.src = Pic3;
}

function runSlideShow() {
if (document.all) {
document.images.SlideShow.style.filter=&quot;blendTrans(duration=2)&quot;;
document.images.SlideShow.style.filter=&quot;blendTrans(duration=crossFadeDuration)&quot;;
document.images.SlideShow.filters.blendTrans.Apply();

document.images.SlideShow2.style.filter=&quot;blendTrans(duration=2)&quot;;
document.images.SlideShow2.style.filter=&quot;blendTrans(duration=crossFadeDuration)&quot;;
document.images.SlideShow2.filters.blendTrans.Apply();

document.images.SlideShow3.style.filter=&quot;blendTrans(duration=2)&quot;;
document.images.SlideShow3.style.filter=&quot;blendTrans(duration=crossFadeDuration)&quot;;
document.images.SlideShow3.filters.blendTrans.Apply();
}


document.images.SlideShow.src = preLoad[j].src;
document.images.SlideShow2.src = preLoad2[j].src;
document.images.SlideShow3.src = preLoad3[j].src;


if (document.all) {
document.images.SlideShow.filters.blendTrans.Play();
document.images.SlideShow2.filters.blendTrans.Play();
document.images.SlideShow3.filters.blendTrans.Play();
}
j = j + 1;
if (j > (p - 1)) j = 0;
t = setTimeout('runSlideShow()', slideShowSpeed);
}
// End -->
</script>
 
I should mention that I want to enable the viewer to change the backgroud color, that is why I want three sepearte image transistions. The java won't allow me to do this.

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top