Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Javascript Textzeile dynamisch ausgeben

  1. #1
    Youngster
    Registriert seit
    16.11.2005
    Beiträge
    11
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Javascript Textzeile dynamisch ausgeben

    Ich habe in einer HTML-Seite per Javascript 7 Bilder in einem Array, die per Mausklick auf 7 icons aufgerufen und angezeigt werden (angezeigt wird jeweils nur 1 Bild von den 7).

    Ich möchte zu den 7 Bildern dynamisch Bildunterschriften anzeigen lassen.

    Im Head definiere ich den Text-array mit den Bildunterschriften.

    Code:
    <script type="text/javascript"> 
    	<!--                          
    
    var bildtext=new Array&#40;"bild-text1-blabla","bild-text2-blabla","bild-text3-blabla","bild-text4-blabla","bild-text5-blabla","bild-text6-blabla","bild-text7-blabla"&#41;;
    
    	//-->                          
    </script>

    Im Body würde ich gerne den Text zum jeweiligen Bild aufrufen. Das Bild wird mit der Variable nr aufgerufen, diese Variable würde ich gerne nutzen um auch den zugehörigen Text aufzurufen:

    Code:
    <script>
    		<!--
    		 document.writeln&#40;bildtext&#41;;
    		//-->
    </script>
    Aber der Aufruf funktioniert nicht.... Es erscheint kein Text.

    Wer kann mir bei diesem Anfängerproblem helfen?
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Forum Guru
    Registriert seit
    14.06.2004
    Ort
    Schleswig-Holstein
    Beiträge
    5.439
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Moin!

    Deine Lösung kann nicht funktionieren, weil du ja immer das komplette Array ausgeben würdest. Normalerweise (wenn das Script korrekt wäre) würde dort dann immer das Wort "Array" auftauchen. Du willst aber nur ein bestimmtest Teiles des gesammten Arrays ausgeben.

    Document.writeln ist für das was du vor hast auch nicht so geeignet, da es immer neuen Text anfügen würde. Du willst aber ja keine Liste mit allen Texten erzeugen, sondern immer nur den zum Bild gehörenden Text anzeigen, sprich die Texte je nach Bild austauschen.


    Es gibt dafür mehrere Lösungen, eine könnte so aussehen:
    Code:
    <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    
    <head>
    <title></title>
    <script type="text/javascript" language="JavaScript">
    <!--
    var bildtext = new Array&#40;"","bild-text1-blabla","bild-text2-blabla","bild-text3-blabla","bild-text4-blabla","bild-text5-blabla","bild-text6-blabla","bild-text7-blabla"&#41;;
    
    function show&#40;t&#41;
      &#123;
      document.getElementById&#40;"TA"&#41;.firstChild.data = bildtext&#91;t&#93;;
      &#125;
    
    //-->
    </script>
    </head>
    <body>
    Hier erscheint der Text&#58; <span id="TA" style="color&#58;#BF0000"></span>
    
    
    </p>
    Text 1  
    Text 2  
    Text 3  
    Text 4  
    Text 5  
    Text 6  
    Text 7  
    </body>
    </html>
    Wichtig ist das Leerzeichen vor dem "</span>", da der Textaustausch nur funktioniert, wenn auch Text vorhanden ist. Leider wandelt der Code-Modus dieses Forum den Quelltext "&nbsp," in ein Leerzeichen um, im Originalquelltext steht da "<span id="TA" style="color:#BF0000"></span>".

    Probiere es mal aus, vermutlich kommst du dann schon allein weiter - sonst melde dich wieder.

    G.a.d.M.

    Ronald

  3. #3
    Youngster
    Themenstarter

    Registriert seit
    16.11.2005
    Beiträge
    11
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Super!!!

    Das ist perfekt.

    Vielen Dank!!!


    Gruß, Michael

  4. #4
    Youngster
    Themenstarter

    Registriert seit
    16.11.2005
    Beiträge
    11
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Doch noch ein Problem

    Hallo, habe mich zu früh gefreut.

    Doch nicht perfekt.

    Auf Firefox läuft das Skript wunderbar,
    IE jedoch meldet im Fenster für Skriptfehler:

    document.getElementById(...).firstChild ist Null oder kein Objekt

  5. #5
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    verwende innerHTML anstat firstChild.data das kennen alle browser

  6. #6
    Youngster
    Themenstarter

    Registriert seit
    16.11.2005
    Beiträge
    11
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Stimmt.

    Danke

  7. #7
    Forum Guru
    Registriert seit
    14.06.2004
    Ort
    Schleswig-Holstein
    Beiträge
    5.439
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Du hast min Posting nicht richtig gelesen, du mußt das Leerzeichen vor "</span> gegen"" austauschen - dieses Forum kann "" in Code-Quelltexten nicht darstellen, zeigt stattdessen ein Leerzeichen an.
    Das Problem ist, daß Text vorhanden sein muß, der ausgetauscht wird. Mit dieser Änderung funktioniert es auch im IE.

    "firstChild" wird übrigens von wesentlich mehr Browsern unterstützt, als "innerHTML".
    • firstChild:
      - DOM 1.0 (Document Object Model) ab Version 1.0
      - Javascript ab Version 1.5
      - Netscape ab Version 6.0
      - IE ab Version 5.0
      - Opera ab Version 7.0
      - Firefox alle Versionen
      - Konqueror ab Version 3.3
      - Safari ab Version 1. 2

    • innerHTML:
      - DOM (Document Object Model) keine Unterstützung
      - Javascript alle, aber nur in der Microsoft-Version
      - Netscape keine Unterstützung
      - IE ab Version 4.0
      - Opera ab Version 7.0
      - Firefox alle Versionen
      - Konqueror ab Version 3.3.
      - Safari keine Unterstützung
    Wenn du also deine Webseite möglichst kompatibel halten willst, dann solltest du firstChild verwenden und nicht innerHTML.

    G.a.d.M.

    Ronald

  8. #8
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    also der netzscape unterstüzt innerHTMl meienr meinung anch, und safari. Joa keine Ahnung. Da war ich mal so frecht den zu ignorieren :-p nutz eh keiner.

  9. #9
    Gast

    Standard

    firstchild bekomme ich tatsächlich auf ie zum laufen mit " " vor </span>

    sieht so aus: <span id="TA">" "</span>

    aber: die beiden anführungszeichen zeigt er mir leider auch zu beginn beim laden der seite an, bevor ich ein bild (mit text) lade, was nicht so gut ist...


    innerhtml läuft auf safari, ie und firefox.

    weitere habe ich noch nicht getestet.

    danke, michael

  10. #10
    Forum Guru
    Registriert seit
    14.06.2004
    Ort
    Schleswig-Holstein
    Beiträge
    5.439
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Mach es so:

    <span id="TA"></span>

    G.a.d.M.

    Ronald

Ähnliche Themen

  1. tabellenhöhe dynamisch
    Von 00eraser00 im Forum HTML & CSS Forum
    Antworten: 5
    Letzter Beitrag: 27.08.2007, 20:24
  2. Textzeile drucken
    Von micha141076 im Forum HTML & CSS Forum
    Antworten: 6
    Letzter Beitrag: 25.04.2007, 21:11
  3. Bild dynamisch
    Von Starfighter im Forum HTML & CSS Forum
    Antworten: 18
    Letzter Beitrag: 07.10.2006, 00:47
  4. dynamisch navi
    Von pindakaas im Forum Script-Archiv
    Antworten: 2
    Letzter Beitrag: 06.03.2006, 22:49
  5. JavaScript: Primzahlen in HTML-Tabelle ausgeben
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 11
    Letzter Beitrag: 20.12.2004, 22:38

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •