Avatar billede heyn Nybegynder
18. juli 2006 - 21:36 Der er 6 kommentarer og
1 løsning

billedet fylder ikk hele vinduet ud når jeg anvender window.open(

Hej Alle.

Jeg er igang med at udvikle en hjemmeside der indeholder et billedgalleri. Når man klikker på et billede åbnes et nyt browservindue som indeholder billedet i stor format.
Problemet er at der opstår margener i browseren, billedet udfylder ikke hele vinduet. Min kode er som følger:

function visBillede(id){
    vindue = window.open(id,"","status=no,resizable=no,toolbar=no,scrollbars=no");
    vindue.resizeTo(472,709);
}

Det skal nævnes at billedet er 472x709 pixels.

Har nogle en løsning?

Mvh Christian
Avatar billede thesurfer Nybegynder
18. juli 2006 - 22:23 #1
Her er et eksempel:

- siden med billederne på:
<script type="text/JavaScript">
function visBillede(id){
    vindue = window.open("viser.htm?" + id,"","status=no,resizable=no,toolbar=no,scrollbars=no");
    vindue.resizeTo(472,709);
}
</script>
<a href="#" onclick="visBillede('etbillede.jpg');return false;">vis billede</a>


- siden der viser det valgte billede (filen har jeg kaldt "viser.htm"):
<html>
<head>
<title>billedeviser</title>
<style type="text/css">
html,body
{
margin:0px;
padding:0px;
}
</style>
<script type="text/JavaScript">
function hentbillede()
{
loc = window.location.search;
billede = loc.substring(1);
document.getElementById("billedeholder").src = billede;
}
</script>
</head>
<body onload="hentbillede()">
<img src="" id="billedeholder">
</body>
</html>
Avatar billede thesurfer Nybegynder
18. juli 2006 - 22:31 #2
Du kan også udbygge viseren, så den tager højde og bredde som parameter, foruden filnavnet..

Så kan du lave et kald der ser sådan ud: visBillede('etbillede.jpg',472,709)
Avatar billede heyn Nybegynder
19. juli 2006 - 10:52 #3
Da jeg faktisk har ikke et, men en serie af små klikaktive billeder der kan vises i stor størrelse med højere opløsning prøvede jeg at lave følgende kode:

<script language="javascript">
filnavn = new Array();
filnavn['bjerge'] = 'grafik/bjerge.jpg'; hoejde['bjerge'] = 124; brede['bjerge'] = 217;
filnavn['aften'] = 'grafik/aften.jpg'; hoejde['aften'] = 165; brede['aften'] = 476;
...

function visBillede(id){
    source = '<html>';
    source = source + '<head><style type="text/css">html,body{ margin:0px; padding:0px; }</style></head>';
    source = source + '<body><img border="0" src="'+filnavn[id]+'"></body>';
    source = source + '</html>';
    vindue = window.open(source,"","status=no,resizable=no,toolbar=no,scrollbars=no");
    vindue.resizeTo(bredde[id],hoejde[id]);
}

Jeg lavede koden for at undgå at skulle opbygge en hel side for hvert billede.
Ideen var så at det nye vindue skulle indeholde kildekoden 'source'. Det fungerer bare ikke. Har du en forklaring?
Når jeg skriver window.open(filnavn[id],"","status=no,resizable=no,toolbar=no,scrollbars=no"); fungerer det godt nok - altså med undtagelse af margenerne!

Mvh Christian
Avatar billede thesurfer Nybegynder
19. juli 2006 - 15:25 #4
Hvis du bruger koden fra 18/07-2006 22:23:55, skal du kun bruge 1 side til visning af billeder. Og det er lige meget hvor mange billeder du har.

"viser.htm" skal bare bruge sti/filnavn.

Du kan udbygge den, så den også tager imode højde og bredde.

Sig lige til, hvis der er noget du ikke forstår.. som jeg tror altså at det er løsningen på dit problem..
Avatar billede thesurfer Nybegynder
19. juli 2006 - 15:26 #5
"som jeg tror" = "for jeg tror" (spørg mig ikke) :-)
Avatar billede heyn Nybegynder
20. juli 2006 - 10:11 #6
Jo det virker.

for at tilpasse browser og vindue skrev jeg:
function visBillede(id){
    vindue = window.open("ny_billedviser.html?" + filnavn[id],"","status=no,resizable=no,toolbar=no,scrollbars=no");
    vindue.resizeTo(bredde[id]+8,hoejde[id]+59);
}
+8 og +59 skyldes selvfølgelig at 'resize' omhandler browserens ydre ramme. Desværre er 'rammerne' ikke lige brede på alle browsere, men mellem explorer og firefox er forskellen kun et par mm så det går jo nok.

Mange tak og god sommer fra Christian
Avatar billede roenving Novice
27. juli 2006 - 11:05 #7
-- og i øvrigt kan du også lave det, så vinduet selv tilpasser sig billedet: http://roenving.users.whitehat.dk/WD1ResizeTilBillede.html !-)
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