Avatar billede rasmus_a Nybegynder
28. januar 2004 - 00:42 Der er 9 kommentarer

Random Picture

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <title>window</title>
<meta name="Generator" content="Stone's WebWriter 4">
<META HTTP-EQUIV="REFRESH" CONTENT="25;URL=http://www.significantothers.dk/window.htm">
<META http-equiv=Page-Enter content=blendTrans(duration=0.5)>

</head>
<body bgcolor="#000000" text="#FFFFFF" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">



<script LANGUAGE="JavaScript">

var NumberOfAds = 5;
var now = new Date();
var sec = now.getSeconds();
var AdNumber = sec % NumberOfAds;
AdNumber +=1;

if (AdNumber==1)
{
    Graphic="wpics/1.gif";
    width = "447";
      height = "376";
}

if (AdNumber==2)
{
    Graphic="wpics/2.gif";
    width = "447";
      height = "376";
}

if (AdNumber==3)
{
    Graphic="wpics/3.gif";
    width = "447";
      height = "376";
}

if (AdNumber==4)
{
    Graphic="wpics/4.gif";
    width = "447";
      height = "376";
}

if (AdNumber==5)
{
    Graphic="wpics/5.gif";
    width = "447";
      height = "376";
}



document.write('<img src=\"' + Graphic + '\" width=');
document.write(width + ' height=' + height + ' ');
document.write('border=0>');


</script>

</body>
</html>


Prøv dette link:
www.significantothers.dk/window.htm

Billedet på siden skulle gerne ændre sig hvert 20. sekund (eller tage 1/5 - så det samme kans selvfølgelig komme 2 gange i træk)
Men det virker ikke helt.. Efter de først 20 sek skifter billedet fint men derefter vælger scriptet det samme billede mange gange i træk inden det på et tidspunkt skifter.. Hvorfor?
Avatar billede Slettet bruger
28. januar 2004 - 02:20 #1
Den refresher hver 25 sekunder.

Så bruger du restværdien af sekund/5 til at vælge billede.

Henter siden
første gang 00:00:00 rest=0, billede=1
næste gang 00:00:25 rest=0, billede=1
næste gang 00:00:50 rest=0, billede=1
næste gang 00:00:15 rest=0, billede=1
Og så videre. Det er kun når de samlede forsinkelser på at få siden hentet kommer op på tilsammen 1 sekund, at billedet skiftes. Jeg har ADSL, og siden er meget lille, så det kan godt tage mange forsøg.
Avatar billede thesurfer Nybegynder
28. januar 2004 - 02:33 #2
Var det ikke en ide bare at skifte billedet, i stedet for at reloade hele siden?

Eksempel:
Hvis du ikke har et start billede, fjern: <simg src="start.jpg">

<!-- hvis den ikke skal starte automatisk, fjern: onload="nyt_billede()": -->
<body onload="nyt_billede()">

<!-- denne linie placerer du, hvor billedet skal vises: -->
<img src="start.jpg" id="visbillede">

<script type="text/JavaScript">
var billeder = new Array("wpics/1.gif", "wpics/2.gif", "wpics/3.gif", "wpics/4.gif", "wpics/5.gif")
var nummer; // et tilfældigt tal
var sidste_billede; // indeholder navnet på det sidste billede.. så kommer det samme billed ikke 2 gange..
var antal_sekunder = 2; // antal sekunder billedet vises før det skiftes

function nyt_billede() // selve funktionen
{

nummer = Math.floor(Math.random() * billeder.length); // find et tilfældigt tal

if (billeder[nummer] == sidste_billede) { // check om dette billede er det samme som sidst
  nyt_billede(); // billedet er det samme som det sidste.. vælg nyt billede
//  alert('billeder[filnavn] = sidste_billede !');
} else {
  sidste_billede = billeder[nummer]; // nyt billede fundet.. gem det i "sidste_billede"
  document.getElementById("visbillede").src = billeder[nummer]; // hvis billedet
}

setTimeout("nyt_billede()", antal_sekunder * 1000) // en timer der udfører funtioner hvert X antal sekunder
}
</script>
Avatar billede thesurfer Nybegynder
28. januar 2004 - 02:34 #3
Denne linie skal bare slettes:
//  alert('billeder[filnavn] = sidste_billede !');
Avatar billede rasmus_a Nybegynder
28. januar 2004 - 12:51 #4
sandbox, hvordan ændrer man det så det virker? :P
thesurfer, med dit script fader billederne jo ikke ind i hinanden :)
Avatar billede thesurfer Nybegynder
28. januar 2004 - 13:02 #5
rasmus_a> Bare så du ved det.. det der fade-halløj virker kun i browseren Internet Explorer.
Jeg bruger browserene Opera og Mozilla.. og hvis det ikke virker med de 2 browsere, så er det noget l*rt :)
Det er kun som en sidste løsning (hvis jeg vil se siden), at jeg bruger Internet Explorer.
Avatar billede Slettet bruger
28. januar 2004 - 14:49 #6
Udskift denne blok:

var sec = now.getSeconds();
var AdNumber = sec % NumberOfAds;

med

var tilftal = Math.random();
var Adnumber = ( tilftal * 1000 * NumberOfAds) % NumberOfAds;

Så bliver det tilfældighedsbaseret.
Avatar billede rasmus_a Nybegynder
28. januar 2004 - 16:57 #7
det virker ikke sandbox :( der kommer fejl nede i venstre hjørne (ie)
Avatar billede Slettet bruger
28. januar 2004 - 17:39 #8
Måske

var tilftal = Math.random();
var Adnumber = Math.floor( tilftal * NumberOfAds) % NumberOfAds;
Avatar billede Slettet bruger
28. januar 2004 - 17:40 #9
Jeg har ikke IE, så hvis jeg skulle kunne rette fejl, er jeg nødt til at få en beskrivelse.
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