Avatar billede ravnkilde Nybegynder
25. marts 2004 - 16:07 Der er 1 kommentar og
1 løsning

Tre random slide shows på samme side

Hej!

Jeg har et script, der laver et random slide show. Det fungerer fint med ét billede på siden, men ikke hvis jeg f.eks. ønsker at have tre billeder, eller rettere tre slideshows, der kører uafhængig af hinanden på samme side.

Jeg har forsøgt at kopiere scriptet på siden og omdøbe de forsellige functions, men uden held.

Jeg har brug for hjælp til at modificere script, således at jeg kan have tre uafhængige slidshows kørende på samme side.

--- script start ---
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--

// ======================================================================
//         IMAGE SLIDE SHOW
// ======================================================================

// gSlideshowInterval - determines how often the slide show is
// refreshed (time given in seconds).

gSlideshowInterval = 5;

// gNumberOfImages - the total number of images available for display.
// This is used both to set up the image array and to manage the actual
// slideshow.

gNumberOfImages = 2;

// gImages - An array that holds the URLs identifying the images to be
// shown in the slide show.

gImages = new Array(gNumberOfImages);

// Fill in the array with the URLs of the images that you want to use.

gImages[0] = "../images/show/picture_A.JPG";
gImages[1] = "../images/show/picture_B.JPG";
gImages[2] = "../images/show/icture_C.JPG";

// ======================================================================
//                             DON'T CHANGE THIS PART
// ======================================================================

// canManipulateImages - check if the browser we're using can do
// clever stuff with document images.

function canManipulateImages() {
    if (document.images)
        return true;
    else
        return false;
}

// loadSlide
//
// Load a given image into place by substituting its URL for the URL
// currently loaded by the <IMG> object called 'slide'.

function loadSlide(imageURL) {
    if (gImageCapableBrowser) {
        document.slide.src = imageURL;
        return false;
    }
    else {
        return true;
    }
}

// nextSlide
//
// Update the counter that shows which slide is being displayed, and
// load it into place. The modulo (%) is there to ensure that we roll
// over when we reach the end of the slideshow.

function nextSlide() {
    while(true) {
        gNextImage = pickRandom(gNumberOfImages);
        if (gNextImage != gCurrentImage)
            break;
    }
    gCurrentImage = gNextImage;
    loadSlide(gImages[gCurrentImage]);
}

// pickRandom
//
// Return a random number in a given range (it returns a number
// between 0 and (range - 1). If 'Math.random' isn't implemented in
// this version of JavaScript, return a value faked up from the
// current time.

function pickRandom(range) {
    if (Math.random)
        return Math.round(Math.random() * (range-1));
    else {
        var now = new Date();
        return (now.getTime() / 1000) % range;
    }
}

// gImageCapableBrowser - is this browser hip to images? Set up
// a global variable so that we don't have to keep calling a function
// (useful if the function becomes costly to compute).

gImageCapableBrowser = canManipulateImages();

// gCurrentImage - a variable used to keep track of the image
// currently being displayed to the user.

gCurrentImage = 0;

// Set up the timer. This will call the 'nextSlide()' function repeatedly at
// the specified interval (and will continue to do so until the page is unloaded).

setInterval("nextSlide()",gSlideshowInterval * 1000);

// -->
</SCRIPT>
Avatar billede olebole Juniormester
25. marts 2004 - 19:56 #1
<ole>

Det, du har brug for, er et nyt script, hvor slide-show'et er skrevet som et objekt - altså i OOP (Objekt Orienteret Programmering) - så man kan instantiere det flere gange på siden.

Du kan ikke bruge det viste script til det - og det kan ikke betale sig at forsøge at modificere det. Jeg kender ikke et link til et OOP'et slide-show (jeg har vist aldrig set et), så det skal nok skrives fra bunden.

Nu ved du i det mindste, hvad du leder efter  :)

/mvh
</bole>
Avatar billede ravnkilde Nybegynder
06. september 2004 - 14:26 #2
.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester