Avatar billede jesper-madsen Nybegynder
29. juli 2005 - 22:54 Der er 15 kommentarer og
1 løsning

Javascript: arrays + random

Hej, hvordan laver jeg en en array, som indholder:
100, 200, 300, 400, 500, 600.
Også laver den en slags "random" hvor den først udskriver 100, så 200, så 300, 400, 500 og 600 - og stopper?

På forhånd tak - håber i forstod problemet, ellers spørg.
Avatar billede erikjacobsen Ekspert
29. juli 2005 - 22:56 #1
var a = Array(100,200,300,400,500,600);

Jeg forstår ikke det med "random"....
Avatar billede jesper-madsen Nybegynder
29. juli 2005 - 22:59 #2
Så skal den udskrive først -
100 også 200, 300 og 400, 500 og 600.

fx.
document.getElementById('kasse').style.left = ""+rand+"px"; // rand skal først være 100 så 200 så 300 så 400 osv.
Avatar billede erikjacobsen Ekspert
29. juli 2005 - 23:03 #3
Men så kan en for-løkke ved klare det, sådan hen i retning af:

for (i=0;i<a.length;i++) {
  rand=a[i];
  // hvad du nu vil gøre med rand
}

Der er li'som ikke noget random (tilfældigt) over det
Avatar billede jesper-madsen Nybegynder
29. juli 2005 - 23:06 #4
og svar :)?
Avatar billede jesper-madsen Nybegynder
29. juli 2005 - 23:07 #5
men hvorfor vil den ikke ->
document.getElementById('kasse').style.left = ""+rand+"px";
Avatar billede erikjacobsen Ekspert
29. juli 2005 - 23:07 #6
Ingen point til mig, tak.
Avatar billede erikjacobsen Ekspert
29. juli 2005 - 23:07 #7
Det du skriver skulle den da meget gerne kunne klare. Hvad er der galt?
Avatar billede jesper-madsen Nybegynder
29. juli 2005 - 23:10 #8
<script>
function flytKasse(start)
{
if(!start == 'ja'){
return false;
} else {
var akser = Array(100,200,300,400,500,600);
for (i=0;i<akser.length;i++) {
var rand = akser[i];
document.getElementById('kasse').style.left = ""+rand+"px";
  }
}
setTimeout("flytKasse('ja')",1500);
}
</script>

- den siger et argument er ugyldigt
Avatar billede erikjacobsen Ekspert
29. juli 2005 - 23:15 #9
Så det du egentlig gerne vil have, er at dit <div>-felt flyttes til de 6 punkter, med en ventetid imellem på 1.5 sekund?
Avatar billede jesper-madsen Nybegynder
29. juli 2005 - 23:17 #10
Jeps.



..........................................FLYTTES HER TIL..... / langsomt
.............................................................. / skal se fedt ud :D
..............................................................
..............................................................
..............................................................
.DIV HER......................................................
..............................................................
..............................................................
..............................................................
..............................................................
Avatar billede erikjacobsen Ekspert
29. juli 2005 - 23:26 #11
Det med det fede ved jeg så ikke. Men prøv den her:

<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
var akser = Array(100,200,300,400,500,600);
var kasseindex=0;
function flytKasse() {
  var rand = akser[kasseindex++];
  document.getElementById('kasse').style.left = ""+rand+"px";
  if (kasseindex>=akser.length) {
    clearInterval(kasseint);
  }
}
var kasseint=setInterval("flytKasse()",1500);
//-->
</SCRIPT>


<div id="kasse" width="100" style="position: absolute; left: 0px; top: 10px">
hejsa
</div>
</BODY>
Avatar billede erikjacobsen Ekspert
29. juli 2005 - 23:30 #12
Hvis noget skal være "fedt" så er en glidende flytning da bedre:

<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--

var kasseindex=0;
function flytKasse() {
  var rand = kasseindex++;
  document.getElementById('kasse').style.left = ""+rand+"px";
  if (kasseindex>=600) {
    clearInterval(kasseint);
  }
}
var kasseint=setInterval("flytKasse()",5);
//-->
</SCRIPT>


<div id="kasse" width="100" style="position: absolute; left: 0px; top: 10px">
hejsa
</div>
</BODY>
Avatar billede jesper-madsen Nybegynder
29. juli 2005 - 23:32 #13
Nice. Tak for det!
Avatar billede jesper-madsen Nybegynder
29. juli 2005 - 23:34 #14
kan du få den til at flyve skråt?
........... til her
.........../
........../
........./
......../
......./
her til

diven skal starte fra left: 300
Avatar billede erikjacobsen Ekspert
29. juli 2005 - 23:40 #15
Du kan få den til at slå saltamortaler:

<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--

var kasseleft=300;
var kassetop=10;
function flytKasse() {
  var left = kasseleft--;
  var top = kassetop++;
  document.getElementById('kasse').style.left = ""+left+"px";
  document.getElementById('kasse').style.top = ""+top+"px";
  if (kasseleft<=0) {
    clearInterval(kasseint);
  }
}
var kasseint=setInterval("flytKasse()",5);
//-->
</SCRIPT>


<div id="kasse" width="100" style="position: absolute; left: 300px; top: 10px">
hejsa
</div>
</BODY>
Avatar billede jesper-madsen Nybegynder
31. juli 2005 - 02:01 #16
Lukker.
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