Avatar billede el_morten Nybegynder
20. januar 2004 - 18:15 Der er 7 kommentarer og
1 løsning

3 random billeder

Hej.
Jeg har brugt koden fra det accepterede svar her: http://www.eksperten.dk/spm/441196
-til at lave en side hvor der hentes 3 vilkårlige billeder fra et array.
Problemet er bare at de 3 "thumbnails" ikke kan vises, da de hedder: eks.
img15.jpgimg04.jpg,img05.jpg,img06.jpg,img07.jpg,... osv.

altså dvs. alle navnene i arrayet.
Hvordan får jeg den til ´ikke´ at gøre det og i stedet vise billederne?
Avatar billede eagleeye Praktikant
20. januar 2004 - 18:51 #1
Du skal lige havde lidt ekstra med, som domaz.dk skrev mangler der + end i disse linjer:
document.write(beg + links[rannum1] + mid + images[rannum1] + images);
document.write(beg + links[rannum2] + mid + images[rannum2] + images);
document.write(beg + links[rannum3] + mid + images[rannum3] + images);

Så de skal være:
document.write(beg + links[rannum1] + mid + images[rannum1] + images + end);
document.write(beg + links[rannum2] + mid + images[rannum2] + images + end);
document.write(beg + links[rannum3] + mid + images[rannum3] + images + end);
Avatar billede el_morten Nybegynder
20. januar 2004 - 18:56 #2
Ja, det har jeg også med:
Koden ser således ud:


<script language=javascript type="text/javascript">

<!--
var beg = "<a href=\"";
var mid = "\"><img border=\"0\" src=\"";
var end = "\"></a>";
var links = new Array();
var images = new Array();
links[0] = "../popup/img04.html";
images[0] = "img04.jpg";
links[1] = "../popup/img05.html";
images[1] = "img05.jpg";
links[2] = "../popup/img06.html";
images[2] = "img06.jpg";
links[3] = "../popup/img07.html";
images[3] = "img07.jpg";
links[4] = "../popup/img08.html";
images[4] = "img08.jpg";
links[5] = "../popup/img09.html";
images[5] = "img09.jpg";
links[6] = "../popup/img10.html";
images[6] = "img10.jpg";
links[7] = "../popup/img11.html";
images[7] = "img11.jpg";
links[8] = "../popup/img12.html";
images[8] = "img12.jpg";
links[9] = "../popup/img13.html";
images[9] = "img13.jpg";
links[10] = "../popup/img14.html";
images[10] = "img14.jpg";
links[11] = "../popup/img15.html";
images[11] = "img15.jpg";

var rannum1 = Math.floor(Math.random() * images.length)
var rannum2;
do
{
rannum2 = Math.floor(Math.random() * images.length)
}
while (rannum2 == rannum1)
var rannum3;
do
{
rannum3 = Math.floor(Math.random() * images.length)
}
while ((rannum3 == rannum1) || (rannum3 == rannum2))


document.write(beg + links[rannum1] + mid + images[rannum1] + images + end);
document.write(beg + links[rannum2] + mid + images[rannum2] + images + end);
document.write(beg + links[rannum3] + mid + images[rannum3] + images + end);
//--></script>

Problemet er at images får et filnavn der indeholder alle navne fra arrayet, og det er der jo ikke noget billede der hedder. Selve link og alt det virker fint.
Avatar billede grunken Nybegynder
20. januar 2004 - 21:05 #3
hmm, fjern "+ images"  ;-)

document.write(beg + links[rannum1] + mid + images[rannum1] + end);
document.write(beg + links[rannum2] + mid + images[rannum2] + end);
document.write(beg + links[rannum3] + mid + images[rannum3] + end);
Avatar billede el_morten Nybegynder
20. januar 2004 - 21:08 #4
Yeees!! Perfekt :)
Så virker det? takker.. :)
smid et svar
Avatar billede el_morten Nybegynder
20. januar 2004 - 21:11 #5
Forresten.. kan man så lave det til et pop-up vindue så og hvordan? Vha:

<a href="java script:;"onClick="MM_openBrWindow('../html/popup/img03.html','','resizable=no,width=606,height=480')">

?
Avatar billede grunken Nybegynder
20. januar 2004 - 21:27 #6
det er vel bare at modificere lidt i begin, og mid

skift dem ud med det her :-)

var beg = "<a href=\"#\" onclick=\"window.open('";
var mid = "','billede','height=606,width=480');return false\"><img border=\"0\" src=\"";
Avatar billede el_morten Nybegynder
20. januar 2004 - 22:35 #7
Hmm... jeg kan ikke få det til at virke sådan som du har skrevet. Så jeg prøvede at fuske noget kode sammen... (Skal lige siges at jeg ikke har arb. med JS før).. men den kode her virker så heller ikke... Kan man slet ikke gøre det på den måde?


<script language="JavaScript">
<!--

function MM_openBrWindow(theURL,winName,features) { //v2.0
  var win_position = ',left=0,top=0,screenX=0,screenY=0';
  var newWindow = window.open(theURL,winName,features+win_position);
  newWindow.focus();
}
//-->
</script>
</head>

<script language=javascript type="text/javascript">

<!--
var beg = "<a href="java script:;"onclick="MM_openBrWindow('\";
var mid = "\','','resizable=no,width=606,height=480')"><img src=\"";
var end = "\ width="76" height="57" border="0"/></a>";
var links = new Array();
var images = new Array();

links[0] = "../popup/img01.html";
images[0] = "img01.jpg";
links[1] = "../popup/img02.html";
images[1] = "img02.jpg";
--------------------------- +mange flere

var rannum1 = Math.floor(Math.random() * images.length)
var rannum2;
do
{
rannum2 = Math.floor(Math.random() * images.length)
}
while (rannum2 == rannum1)
var rannum3;
do
{
rannum3 = Math.floor(Math.random() * images.length)
}
while ((rannum3 == rannum1) || (rannum3 == rannum2))


document.write(beg + links[rannum1] + mid + images[rannum1] + end);
document.write(beg + links[rannum2] + mid + images[rannum2] + end);
document.write(beg + links[rannum3] + mid + images[rannum3] + end);
//--></script>
Avatar billede el_morten Nybegynder
20. januar 2004 - 22:38 #8
Woops..Havde lavet en fejl. Nu virker det med Grunkens kode :)
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