Avatar billede ofirpeter Nybegynder
24. marts 2004 - 21:28 Der er 13 kommentarer og
1 løsning

Gentagelse af script.

Hej. Jeg bruger dette script til at vise 5 billeder i en slags slideshow, det fungere rigtig godt. Dog med en untagelse, scriptet stopper, når det har været alle billederne igennem en gang? Er det muligt at få det til at kører igen og igen?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">


<script type="text/javascript">
antal = 5
var imagesextra =new Array();
    for (i = 1; i<antal +1; i++){
        imagesextra[i] = new Image();
        imagesextra[i].src = "adimg" + i + ".gif";
}
function swapImage(nr) {
    document.images.adimg.src = imagesextra[nr].src
}
function init(){
start()
}
function start(){
setTimeout('swapImage(1)',3000)
setTimeout('swapImage(2)',6000)
setTimeout('swapImage(3)',9000)
setTimeout('swapImage(4)',12000)
setTimeout('swapImage(5)',15000)
}
</script>


</head>

<body onload="start()">
<img src="adimg0.gif" name="adimg" alt="Billede der udskiftes" width="398" height="385" border="0"></td>
<br>
</body>
</html>
Avatar billede mm12010 Nybegynder
24. marts 2004 - 21:31 #1
<body onload="setInterval('start()',45000)">
Avatar billede htm Nybegynder
24. marts 2004 - 21:31 #2
du kan kalde funktionen start() efter den sidste setTimeOut...

...
setTimeout('swapImage(5)',15000)
start();
}
</script>
Avatar billede ofirpeter Nybegynder
24. marts 2004 - 21:42 #3
Der går lidt kage i det hvis jeg gør følgende:

<script type="text/javascript">
antal = 5
var imagesextra =new Array();
    for (i = 1; i<antal +1; i++){
        imagesextra[i] = new Image();
        imagesextra[i].src = "adimg" + i + ".gif";
}
function swapImage(nr) {
    document.images.adimg.src = imagesextra[nr].src
}
function init(){
start()
}
function start(){
setTimeout('swapImage(1)',3000)
setTimeout('swapImage(2)',6000)
setTimeout('swapImage(3)',9000)
setTimeout('swapImage(4)',12000)
setTimeout('swapImage(5)',15000)
start();
}
</script>
Avatar billede htm Nybegynder
24. marts 2004 - 21:44 #4
ja du skal nok bruge mm12010s løsning.
Avatar billede ofirpeter Nybegynder
24. marts 2004 - 21:45 #5
Den kører lidt, viser de samme billeder flere gange, springer nogen over, og siger "Out of memory"
Avatar billede grunken Nybegynder
24. marts 2004 - 21:50 #6
lav lidt om i funktionen :o)

<script type="text/javascript">
antal = 5
var t,imagesextra =new Array();
    for (i = 1; i<antal +1; i++){
        imagesextra[i] = new Image();
        imagesextra[i].src = "adimg" + i + ".gif";
}

function start(num){
if(!num)num=0;
  t = setTimeout("start("+(++num)+")",3000)
  document.images.adimg.src = imagesextra[num].src
if(num==antal-1)
  t = setTimeout("start()",3000)
}
</script>
Avatar billede ofirpeter Nybegynder
24. marts 2004 - 21:54 #7
Øv, kan ik lige få det til at virke, hvis jeg sætte det op sådan her, skifter den slet ikke det første billede:

<script type="text/javascript">
antal = 5
var imagesextra =new Array();
    for (i = 1; i<antal +1; i++){
        imagesextra[i] = new Image();
        imagesextra[i].src = "adimg" + i + ".gif";
}
function swapImage(nr) {
    document.images.adimg.src = imagesextra[nr].src
}
function init(){
start()
}
function start(){
setTimeout('swapImage(1)',3000)
setTimeout('swapImage(2)',6000)
setTimeout('swapImage(3)',9000)
setTimeout('swapImage(4)',12000)
setTimeout('swapImage(5)',15000)
}
</script>


</head>

<body onload="setInterval('start()',45000)">
<img src="adimg0.gif" name="adimg" alt="Billede der udskiftes" width="398" height="385" border="0">
Avatar billede ofirpeter Nybegynder
24. marts 2004 - 21:55 #8
joh nu gjorde det sørme men tror der gik et minut før den startede?
Avatar billede mm12010 Nybegynder
24. marts 2004 - 21:56 #9
ahh - sorry:

<body onload="start();setInterval('start()',45000)">
Avatar billede grunken Nybegynder
24. marts 2004 - 21:57 #10
<script type="text/javascript">
antal = 5
var t,imagesextra =new Array();
    for (i = 1; i<antal +1; i++){
        imagesextra[i] = new Image();
        imagesextra[i].src = "adimg" + i + ".gif";
}

function start(num){
if(!num)num=0;
  t = setTimeout("start("+(++num)+")",3000)
  document.images.adimg.src = imagesextra[num].src
if(num==antal-1)
  t = setTimeout("start()",3000)
}
</script>

<body onload="start()">
<img src="adimg0.gif" name="adimg" alt="Billede der udskiftes" width="398" height="385" border="0">

virker med statsgaranti :o)
Avatar billede ofirpeter Nybegynder
24. marts 2004 - 22:11 #11
mm12010's kode virkede perfekt. Du må meget gerne svare.
Avatar billede roenving Novice
24. marts 2004 - 22:17 #12
-- og med en lidt mere speciel effekt:

http://www.eksperten.dk/spm/478961
Avatar billede mm12010 Nybegynder
24. marts 2004 - 23:43 #13
svar :o)

ofirpeter >> selv om det virker nu, bør du måske overveje at bruge grunkens forslag - om ikke profermancemæssigt det bedste, så i hvert fald mere sexy ;-)
Avatar billede mm12010 Nybegynder
25. marts 2004 - 01:06 #14
.
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