Avatar billede mamu Nybegynder
10. maj 2004 - 20:27 Der er 5 kommentarer og
1 løsning

Variabel med til popup

Hej eksperter

Jeg har et lille billed-galleri hvor man ved at klikke på et billede via:

<a href="#" onclick="openpopupvaeg()">

og:

<script>
function openpopupvaeg(){
window.open("slideshowvaeg.html","",",resizable,width="+860+",height="+670+",top="+10+",left="+50+"");
}
</script>

åbner slideswowvaeg.html hvor billederne vises. Slideshowvaeg.html har formen:

<html>
<head>
<link rel=StyleSheet href=../../../styles_billeder.css type=text/css>
<style type="text/css">
body{ background-color : black}
span.caps{ color : white;
            text-align : center;
}
</style>
</head>

<script language="JavaScript">

NewImg = new Array (
"pic1.jpg",
"pic2.jpg",
"pic3.jpg"
);

NewCap = new Array (
"caption1",
"caption2",
"caption3"
);

var ImgNum = 0;
var loopLength = Math.min(NewImg.length,NewCap.length);

// sørger for at billederne og captions vises i ring
function chgImg(direction) {
  if (document.images) {
    ImgNum = (ImgNum + direction + loopLength)%loopLength;
    document.images['slideshowvaeg'].src = NewImg[ImgNum];
    document.getElementById('caption').innerHTML = NewCap[ImgNum];
  }
}

//  End -->

</script>

<body bgcolor="black">
<center>

<table cellspacing="0" cellpadding="0" width="150">
<tr>
<td colspan=4 width=821>
<img src="../../../images/pk_vaeg/madsipk.jpg" name="slideshowvaeg" height="610"><br>
</td>
</tr>
<tr>
<td><a href="java script:chgImg(-1)"><img src="../../../images/bg/arrowleft.gif"></a></td>
<td><span class="caps" id="caption">Mads prøver desperat at holde fast</span></td>
<td><a href="java script:chgImg(1)"><img src="../../../images/bg/arrowright.gif"></a></td>
<td><a href="java script:window.close()"><img src="../../../images/bg/luk.gif"></a></td>
</tr>
</table>

</body>
</html>


Det virker også fint, men jeg vil gerne have at det billede man trykker på vises først, og at man så bladrer herfra. Spørgsmålet er altså hvordan jeg får importeret information om hvilket billede der trykkes på ind i slideshowvaeg.html, og herinde benytter den information til at kalde det rigtige billede (og caption frem).
Avatar billede roenving Novice
10. maj 2004 - 20:44 #1
<a href="#" onclick="openpopupvaeg(0)"><img src="pic1.jpg"></a>

function openpopupvaeg(nr){
window.open("slideshowvaeg.html?vis="+nr,"",",resizable,width="+860+",height="+670+",top="+10+",left="+50+"");
}

-- og så i popup'en:

<body bgcolor="black" onload="getInitPic()">

-- og i scriptet lige efter linjen: var ImgNum = 0;

function getInitPic(){
  if(location.search){
    var picno = location.search.split('vis=')[1];
    if(!picno.match(/^\d+$/))return;
    ImgNum = +picno;
    document.images['slideshowvaeg'].src = NewImg[ImgNum];
    document.getElementById('caption').innerHTML = NewCap[ImgNum];
  }
}
Avatar billede roenving Novice
10. maj 2004 - 20:47 #2
-- lige et par skønhedsfejl i din window.open:

window.open("slideshowvaeg.html?vis="+nr,"","resizable,width=860,height=670,top=10,left=50");
Avatar billede mamu Nybegynder
10. maj 2004 - 21:00 #3
Det virker som det skal, dog når den lige kort at loade pic1.jpg først, men det skyldes vel at jeg definere den ved:

<img src="pic1.jpg" name="slideshowvaeg" height="610">

inde i <body> tagget i slideshowtaeg.html

Eller hvad??
Avatar billede roenving Novice
10. maj 2004 - 21:09 #4
Ja !-)

-- og mit umiddelbare gæt var, at det var det mest hensigtsmæssige ...

-- men hvis dine billeder er tunge, skal du nok bare fjerne src-attributten på img-tagget, så den ikke først skal hente det billede !-)

-- og velbekomme '-)
Avatar billede mamu Nybegynder
10. maj 2004 - 21:12 #5
Perfekt - 1000 tak for hjælpen!!
Avatar billede roenving Novice
10. maj 2004 - 21:13 #6
-- og jeg takker for point ;~}
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