verschied. texte mit javascript zeigen

BadByte

Lt. Junior Grade
Registriert
Jan. 2006
Beiträge
298
guten abend,

ich würde gerne auf meiner Webseite die texte mit javascript ausgeben.

also ich stelle mir das so vor:

es werden Varibeln gemacht, je nachdem wieviele Texte ich habe, ausgegeben werden:

z.B. in der variabel "home" steht der text, der auf der hauptseite ausgegben werden soll.

da kommt schon ein erstes Problem, kann es sein, dass man in Javascript nur "einzeilige"-strings machen kann?

und wenn ich diesen string über einen event handler dann ausgebe, dann werden die html tags auch mit ausgegeben und NICHT ausgeführt.

hier mein code:
HTML:
[...]
<script type="text/javascript">	  
	  var home, about_me, impressum;  
          
          home="<h1 style=\"color: #ff0000;\">diese Seite</h1>
                       ist noch im Aufbau";

          about_me="<h1 style=\"color: #ff0000;\">&uumk;ber mich</h1>
                       giebt es nicht viel zu sagen";

          impressum="<h1> style=\"color: #ff0000;\"&das Impressum</h1>
                       ist hier &uuml;berfl&uuml;ssig";

	  
	  function show_frm(frm_index)
	  {
	    switch(frm_index)
		{
		  case "home" : document.getElementById('text').nodeValue = home;

		  break;
		  
		  case "about_me" : document.getElementById('text').nodeValue = about_me;

		  break;
		  
		  case "impressum" : document.getElementById('text').nodeValue = "impressum" ;

		  break;
		  
		  default:        document.getElementById('text').nodeValue = "";

		  break
	    }
		
	  }
	  	 

	  </script>
	   </head> 
	  
	  
	    <body>
    <h1>Wohin des weges?</h1><br />
	  
	  <table>   
		
		<tr>
		  <td>
		    <div onClick="show_frm('home')">home</div><br />
			
		  </td>
		</tr>
		
		<tr>
		  <td>
		    <div onClick="show_frm('about_me')">about_me</div><br />
			
		  </td>
		</tr>
		
		<tr>
		  <td>
		    <div onClick="show_frm('impressum')">impressum</div><br />
				 
		  </td>
		</tr>
	  </table>
	  
	  
	  
	  <div id="text">&nbsp;</div><br />

[...]

weis jemand die Löhsung?
 
Zuletzt bearbeitet:
Wenn du über innerHTML arbeitest, sollten die Tags ausgewertet und nicht Klartext angezeigt werden.

Allerdings würde ich es für schicker halten, die Inhalte nicht in Variablen, sondern in seperaten Dateien auf dem Server zu speichern und diese mit einem XMLHttpRequest einzubinden.
 
ok, danke des mit dem innerHTML funktioniert ganz ok,
auch des mit der externen Datei is ganz cool,

ich würde aber trozdem lieber einen Mehrzeiligen string ausgeben.....

bzw die einzelnen mehrzeiligen Unterseiten, weis du da was?
 
Wie gesagt, leg die 'mehrzeiligen Strings' als separate Dateien auf dem Server ab und lade sie mit dem xmlhttprequest.

Das ist auf der einen Seite viel schöner wartbar und übersichtlicher sowie andererseits auch nicht ganz so trafficintensiv, da immer nur das geladen wird, was der Besucher auch tatsächlich anklickt.
 
ja genau das will ich ja verhindern, das alles immer geladen wird, erst wenn man draufklickt.

ich will das die Seite "nur einmal" geladen werden muss.
 
ok, hier die Löhsung:

ich mache noch ein paar tags,
bei denen ich mit ner class in css das atribut "visibility" auf "hidden" setze.
In diesen Tags stehn die Texte, die als inhalte auf der seite angezeigt werden sollen, z.B. den home und den impressum teil....

Dann schreib ich ne funktion, die in einen bestimmten tag, den ich als Text tag verwende, immer den jeweiligen Text des versteckten tags setzt,

wenn z.B. auf einen bestimmten knopf gedrückt wird; das wird dann mit einem Event handler abgefragt......


edit: fals jemand eine besser Löhung hat, wäre ich dankbar, wenn er sie posten würde.....
 
Zuletzt bearbeitet:
Zurück
Oben