anoniem Geplaatst: 9 februari 2004 Delen Geplaatst: 9 februari 2004 Beste mensen, Ik ben hard bezig met het mijzelf eigen maken van Javascript in combinatie met CSS. Nu heb ik het volgende script om variabele teksten in een layer te printen; [code:1:c5f9904961]<script language="JavaScript"> function getStyle( layer ) { if( document.getElementById ) { return document.getElementById( layer ).style } else if( document.all ) { return document.all[layer].style } else { return document[layer] } } function writeText( layer,text ) { if( document.getElementById ) { document.getElementById( layer ).innerHTML = text; } else if( document.all ) { document.all[layer].innerHTML = text; } else { document[layer].document.open(); document[layer].document.write( text ); document[layer].document.close(); } }[/code:1:c5f9904961] Ik wil nu hetzelfde doen om variabele afbeeldingen in een layer te printen (printen is uiteraard op het scherm doen verschijnen..) Ik meende dit met hetzelfde script te kunnen doen door in de verwijzing in mijn HTML code eenvoudigweg; [code:1:c5f9904961]<a href="#" onClick="writeText('afbeelding', 'hier komt de afbeelding')">[/code:1:c5f9904961] te vervangen door bijv.; [code:1:c5f9904961]<a href="#" onClick="writeText('afbeelding', '<img src="thumbs/BAM08.jpg"')">[/code:1:c5f9904961] Die vlieger gaat echter niet op! Wat doe ik nu fout? moet ik in het script gaan sleutelen of is de opdracht in de HTML niet helemaal zuiver? Quote Link naar reactie
anoniem Geplaatst: 9 februari 2004 Auteur Delen Geplaatst: 9 februari 2004 Ik zou zoiets doen ongeveer. [code:1:433fb592dc] <html> <head> <title>Untitled</title> <script type="text/javascript"> function writeText(layer,imageurl){ var x=document.getElementById(layer); x.innerHTML='<img src="'+imageurl+'">'; return false; } </script> </head> <body> <div id="layer"></div> <a href="thumbs/BAM08.jpg" onclick="return writeText('layer', this.href)">Klik voor de afbeelding</a> </body> </html> [/code:1:433fb592dc] document.write is iig niet bruikbaar nadat een document is geladen. Niet nodig om document.all als test te gebruiken. Ik zou ie4 en nn4 gewoon negeren. [code:1:433fb592dc] <a href="#" onClick="writeText('afbeelding', '<img src="thumbs/BAM08.jpg"')"> [/code:1:433fb592dc] Dit is ook fout, omdat je geen < en > -tekens mag gebruiken in attributen van elementen. Deze moet je dan altijd 'escapen' met < en > Quote Link naar reactie
anoniem Geplaatst: 10 februari 2004 Auteur Delen Geplaatst: 10 februari 2004 Bedankt voor de reactie, ik heb het script toegepast en het werkt perfect! Het enige probleem is dat het niet meer te combineren is met de WriteText die ik had. Dus mijn probleem is nog niet opgelost maar eigenlijk gespiegeld :-? Ik heb geprobeerd om het zo aan te passen dat de twee te combineren zijn en dus in een "call" geactiveerd kunnen worden (WriteText returnimage plaatst afbeelding in layer A en writeText plaatst tekst in layer B en wel tegelijkertijd via 1 muisklik op een objectje) Ik blijf sleutelen en lezen in mijn antieke javascript boek maar hulp blijft welkom! Quote Link naar reactie
anoniem Geplaatst: 10 februari 2004 Auteur Delen Geplaatst: 10 februari 2004 [code:1:41f0accffe] <html> <head> <title>Untitled</title> <script type="text/javascript"> function doe(){ var x=document.getElementById('dhtmlding'); x.onclick=function(){ var x=document.getElementById('layer'); x.innerHTML='<img src="'+this.href+'"><br>tekst en zo'; return false; } } window.onload=doe; </script> </head> <body> <div id="layer"></div> <a href="thumbs/BAM08.jpg" id="dhtmlding">Klik voor de afbeelding</a> </body> </html> [/code:1:41f0accffe] Zoiets? Het is helaas niet erg generiek. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen