Popup image met een maximum grootte

Pagina: 1
Acties:
  • 50 views sinds 30-01-2008

  • mike643
  • Registratie: Maart 2005
  • Laatst online: 09:59
Dames en Heren,

Ik ben bezig om een popup te maken waarin een plaatje wordt geopend die evengroot is als de popup. Nu werkt alles redelijk, alleen is het zo dat wanneer het plaatje groter is dan de resolutie van het beeldscherm, dan wordt het een zooitje.
Ik wil dus graag een maximum grootte aan de popup instellen. Is dit mogelijk? Zo ja hoe.

Hier is de code die ik nu gebruik:

<script language="Javascript" type="text/javascript" >
//aan te passen
vanaf_links = 0-230;
vanaf_boven = 0-280;
grootste_breedte =1+20;//afmetingen van het grootste beeld +20
grootste_hoogte = 1+20; //afmetingen van het grootste beeld +20
//hieronder niets wijzigen
if (parseInt(navigator.appVersion.charAt(0))>=4){
var isNN=(navigator.appName=="Netscape")?1:0;
var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}
var optNN='scrollbars=no,width='+100+',height='+100+',left='+vanaf_links+',top='+vanaf_boven;
var optIE='scrollbars=no,width=150,height=100,left='+vanaf_links+',top='+vanaf_boven;
function popBeeld(BeeldURL,BeeldTitel){
if (isNN){imgWin=window.open('about:blank','',optNN);}
if (isIE){imgWin=window.open('about:blank','',optIE);}
with (imgWin.document){
writeln('<html><head><title>Bezig met inladen ...</title><style>body{margin:0px;}</style>');writeln('<sc'+'ript>');
writeln('var isNN,isIE;');writeln('if (parseInt(navigator.appVersion.charAt(0))>=4){');
writeln('isNN=(navigator.appName=="Netscape")?1:0;');writeln('isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}');
writeln('function aanpassen_aan_beeldgrootte(){');writeln('if (isIE){');writeln('window.resizeTo(100,100);');
writeln('width=100-(document.body.clientWidth-document.images[0].width);');
writeln('height=100-(document.body.clientHeight-document.images[0].height);');
writeln('window.resizeTo(width,height);}');writeln('if (isNN){');
writeln('window.innerWidth=document.images["BeeldNaam"].width;');writeln('window.innerHeight=document.images["BeeldNaam"].height;}}');
writeln('function maak_titel(){document.title="'+BeeldTitel+'";}');writeln('</sc'+'ript>');
writeln('</head><body bgcolor=000000 scroll="no" onload="aanpassen_aan_beeldgrootte();maak_titel();self.focus()" onblur="self.close()">');
writeln('[img]'+BeeldURL+'[/img]</body></html>');
close();
}}
</script>


Met de link:

<a href="javascript:popBeeld('data/upimages/ref0105_1.jpg','drup drup drup.. kan iemand
die kraan dichtdraaien ?')"><img src="data/upimages/ref0105_1_th.jpg" alt="Klik om de
foto te vergroten..." border="0" width="100" height="100"></a>

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 08-05 23:48

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Dat kan, nl. kijken of de afbeelding niet groter is dan de scherm-afmetingen :)

code:
1
2
3
4
5
6
7
8
9
if( img.width > document.body.clientWidth )
{
    newWidth = document.body.clientWidth - 50;
    factor = newWidth / img.width;
    newHeight = img.height * factor;

    img.witdh = newWidth;
    img.height = newHeight;
}

Zoiets zou het dan moeten zijn :)

Overigens wordt er hier verwacht dat je het eerst zelf probeert, en hulp vraagt als het niet lukt, ipv vooraf al te roepen dat je het niet kan.

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • Willem
  • Registratie: Februari 2001
  • Laatst online: 00:34
Met dank aan Pram voor de uitleg, want dit was best zelf uit te pluizen. :)

Motor onderhoud bijhouden


Dit topic is gesloten.