Avatar billede chrlilje Nybegynder
08. oktober 2002 - 18:51 Der er 5 kommentarer og
2 løsninger

Udskifte billede med et tilfældigt hvert x. sekund

Jeg søger et script, der med et fast tidsinterval kan udskifte et billede på en side med et tilfældigt valgt (Slideshow).

Krav til løsning:
- Kun billedet skal skiftes (ikke refresh af hele siden)
- Alle billeder kan ikke preloades (>2000)
- Billedenavne følger en fast konvention (pic0001.jpg-pic2000.jpg)

Har du noget sådant liggende i skuffen?
Med venlig hilsen
Christian Liljedahl
Avatar billede gizp Nybegynder
08. oktober 2002 - 18:54 #1
Avatar billede chrlilje Nybegynder
08. oktober 2002 - 19:16 #2
Hmm. Begge løsninger er baseret på preload af billederne. Det er ikke en mulighed. Jeg vil gerne kunne cykle random mellem > 2000 billeder.
Avatar billede gizp Nybegynder
08. oktober 2002 - 19:31 #3
http://www.viewsource.dk/cat.asp?ident=applets&catID=1
eller
http://www.viewsource.dk/cat.asp?ident=asp&catID=1

Dette er dog til bannerer men det kan vil også bruges, eller er der http://www.dejligbjerg.dk der er nok en kode til det!
Avatar billede jakoba Nybegynder
08. oktober 2002 - 19:32 #4
Hvad med denne ? den preloader kun det næste billede der skal vises for hurtigt skift).

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD><TITLE>Tilfældigt billedskift med fast interval</TITLE>

<script language='javascript'>

var interval  = 3;      // tid imellem skift af billede (sekunder)
var maxNummer = 2000;  // ikke over 4 cifre.
var minNummer = 1;

// ******* nix pille herunder

function nesteBillede() {
    var temp = "0000" +Math.floor( minNummer +Math.random()*(1+maxNummer-minNummer) );
    return  "pic" +temp.substring( temp.length-4 ) +".jpg";
}; //end nestebillede() -> string

var preImg = new Image();
var timeHandle = null;
var debtal = 0;              // debugtæller (kan fjernes med andre debuglinier)

function checkDone() {
    if ( preImg.complete ) {  // næste billede er klar.
        document.images.swapimage.src = preImg.src;
        preImg.src = nesteBillede()  // start en ny load
        timeHandle = setTimeout( "checkDone()", interval*1000 );
            // linien nedenfor er overflødig. kun for at debugge.
        document.debugform.debugflt.value = debtal++;
    } else {
            // extra vent indtil billedet er i cashen
        timeHandle = setTimeout( "checkDone", 100 );
    }
}; //end checkDone()

function startLoad() {
    preImg.src = nesteBillede()  // start en ny load
    timeHandle = setTimeout( "checkDone()", interval*1000 );
}; //end startLoad()

</script>

</HEAD>
<BODY onload="startLoad();">
<center><img src="pic0001" width=320 height=240 name="swapimage"></center>

<form name="debugform">
<p>billedet er reloadet <input type='text' value=0 name="debugflt" size=5> gange
( formen her er blot til debug)</p>
</form>

</BODY>
</HTML>

mvh JakobA
Avatar billede gizp Nybegynder
08. oktober 2002 - 19:36 #5
Måske denne
<applet code="banner.class" width=234 height=60>
<param name="regcode"    value="999">
<param name="bgcolor"  value="0000ff">
<param name="delay"    value="100">
<param name="length"    value="3">
<param name="number"    value="5">
<param name="item0"    value="billede.gif|http://myapplet.tripod.com">
<param name="item1"    value="billede.gif|http://myapplet.tripod.com">
<param name="item2"    value="billede.gif|http://www.ddj.com">
<param name="item3"    value="billede.gif|http://www.javareport.com">
<param name="item4"    value="billede.gif|http://www.javaworld.com">
</applet>

Så har jeg en fil du skal bruge (banner.class)
Avatar billede gizp Nybegynder
08. oktober 2002 - 19:37 #6
Og den kan jeg ikke finde så det går ikke!
Avatar billede chrlilje Nybegynder
08. oktober 2002 - 23:31 #7
jakoba: Det var jo en grydeklar løsning - imponerende!

Jeg har hævet til 200 point.
190 til jakoba for et perfekt cut-and-paste svar.
10 fighterpoint til gizp

Tak for hjælpen
Christian Liljedahl
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