Vraag & Antwoord

Webprogrammeren & scripting

grotere versie van afbeelding in nieuw venster tonen

6 antwoorden
  • Ik laat in een bepaald frame een aantal foto's zien met de volgende code for (i = 20; i < 32; i++) {var tijdafb= '../vakantie2006/klf/P10100'+i+'.JPG' tekst='../vakantie2006/klf/P10100'+i+'.JPG onclick= vensteropenen()' ; //alert('p10100'+i+'.jpg'); document.write("<img src = "+tekst+'>') } Dit doe ik op deze wijze omdat ik vele frames wil definieren met zoveel mogelijk dezelfde code. Het is de bedoeling dat als er op een afbeelding wordt geklikt in een apart venster (dus geen frame) een grotere versie wordt geladen. Hiervoor gebruik ik de volgende code function vensteropenen() { if(NewWin1 && !NewWin1.closed) NewWin1.close() NewWin1=window.open("", "NewWin1", "resizable=no,height=339,width=580,top=250,left=250 "); NewWin1.document.write("<head><TITLE>250</TITLE></head>") NewWin1.document.write("<BODY topmargin='0' leftmargin='0' marginheight='0' marginwidth='0'>") NewWin1.document.write("<center><img src="+tijdafb+'>') NewWin1.document.write("</body>") } Ik krijg dan echter steeds de laatste foto die in het frame is geladen weergegeven en niet de aangeklikte foto. Nu wordt nog de keine versie geladen maar dat wordt nog veranderd door de variabele tijdafb aan te passen Heeft iemand hiervoor een oplossing ???
  • Moet je even in de gegenereerde broncode kijken. Daar zal voor elk plaatje hetzelfde in staan.
  • Hoi Wiep, Ik ben wellicht niet duidelijk geweest, dit is javascript. Een andere broncode dan deze is er dus niet
  • Het probleem is dat je geen variabele meegeeft aan de functie [i:fb15fad96a]vensteropenen[/i:fb15fad96a]. Ongetest: [code:1:fb15fad96a] var img; for (var i = 20; i < 32; i++) { img = '../vakantie2006/klf/P10100'+i+'.JPG'; document.write("<img src='" + img + "' onclick='vensteropenen(this.src)'>"); } var NewWin1; function vensteropenen(img) { if(NewWin1 && !NewWin1.closed) NewWin1.close(); NewWin1=window.open("", "NewWin1", "resizable=no,height=339,width=580,top=250,left=250 "); NewWin1.document.write("<head><TITLE>250</TITLE></head>"); NewWin1.document.write("<BODY topmargin='0' leftmargin='0' marginheight='0' marginwidth='0'>"); NewWin1.document.write("<center><img src='"+img+"'>"); NewWin1.document.write("</body>"); } [/code:1:fb15fad96a] In bovenstaand voorbeeld wordt dezelfde image geopend in het venster. Als dit een andere image moet zijn, dan kan je dat bijvoorbeeld zo doen: [code:1:fb15fad96a] var img_klein, img_groot; for (var i = 20; i < 32; i++) { img_klein = '../vakantie2006/klf/P10100'+i+'.JPG'; img_groot = '../vakantie2006/groot/P10100'+i+'.JPG'; document.write("<img src='" + img_klein + "' onclick='vensteropenen(\"' + img_groot + '\")'>"); } [/code:1:fb15fad96a]
  • Dank voor je reactie Annie. Krijg met het laatste voorbeeld , de melding : tekenreeks niet afgesloten, zal wel iets met onjuist gebruik van ' of " hebben te maken. Probeer het uit te vogelen. Dat is bij mij trouwens als beginnend gebruiker van javascript trouwens een steeds weerkerend probleem, het juiste gebruik van 'en " Opgelost ....NOGMAALS DANK
  • Toch niet opgelost. Met alleen dezelfde afbeelding in een nieuw scherm lukt het wel, met een grotere variant lukt het niet Dit is de code : <HEAD> <SCRIPT LANGUAGE="JavaScript">; var img_klein, img_groot; for (var i = 20; i < 32; i++) { img_klein = '../vakantie2006/klf/P10100'+i+'.JPG'; img_groot = '../vakantie2006/grf/P10100'+i+'.JPG'; document.write("<img src='" + img_klein + "' onclick='vensteropenen(\"' + img_groot + '\")'>"); } var NewWin1; function vensteropenen(img) { if(NewWin1 && !NewWin1.closed) NewWin1.close(); NewWin1=window.open("", "NewWin1", "resizable=no,height=339,width=580,top=250,left=250 "); NewWin1.document.write("<head><TITLE>250</TITLE></head>"); NewWin1.document.write("<BODY topmargin='0' leftmargin='0' marginheight='0' marginwidth='0'>"); NewWin1.document.write("<center><img src='"+img+"'>"); NewWin1.document.write("</body>"); } </SCRIPT> </HEAD> Ik krijg dan de melding : Regel 22 : Fout : Tekenreeksconstante is niet afgesloten Ik ga verder uitproberen, maar als iemand het direct ziet, ik hou me aanbevolen :oops: :oops:

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.