Warum kostenlos registrieren?

Nur als registriertes Mitglied hast Du vollen Zugriff auf alle Funktionen unserer Website. So kannst Du eigene Fragen stellen und hast die volle Übersicht über neue interessante Themen im Forum.
Jetzt kostenlos registrieren.

Login


Menü mit GetElementById - Logikfehler?

Anfänger? Kein Problem einfach hier fragen, wir helfen euch!

Menü mit GetElementById - Logikfehler?

Beitragvon Niete am 04.12.2007, 12:43

Hallihallo zusammen,

ich bin zurzeit an einer neuen homepage und arbeite dabei an dem menü. die einzelnen menüpunkte (hier "philosophie []" und "kontakt []") verändern sich bei klick ganz toll in "philosophie [x]".
leider hat das ganze einen schönheitsfehler: der angeklickte link sollte sich, falls ein anderer angeklickt wird, wieder in den ursprünglichen zurückverwandeln, der ebenfalls wieder die ursprüngliche funktion beherbergt, und das krieg ich nicht raus. ich wollte eigentlich mit derselben funtkion ("document.getElementById") wieder alle anderen links ansteuern, doch kann ich keine funktionierenden links einsetzen lassen. ich hoffe das wird verständlich :)

mein unfertiger code:

Code: Alles auswählen
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Architektengruppe 4</title>

<link rel="stylesheet" type="text/css" href="http://www.ag4.ch/stylesheet.css" />

<script src="http://www.ag4.ch/javascript.js"></script>

</head>

<div align="right">
  <table width="90%" border="0">
    <tr>
      <td class="TITEL"><div align="right">ag4</div></td>
    </tr>
    <tr>
      <td>
     
      <div align="right" id="link1">   
      <a href="#" onclick="
      document.getElementById('link1').innerHTML='Philosophie [x]';
      document.getElementById('link4').innerHTML='Kontakt []';">
      Philosophie []</a>
      </div>
       
   
      <div align="right" id="link4">   
      <a href="#" onclick="
      document.getElementById('link1').innerHTML='Philosophie []';
      document.getElementById('link4').innerHTML='Kontakt [x]';">
      Kontakt []</a>
      </div>       


        </td>
    </tr>
  </table>
</div>

</body>
</html>


als neuer text der onclick funktion kann ich leider kein html und auch keine unicode symbole einsetzen - stimmt das? deshalb steht da auch ...'Kontakt [x]'... und nicht sowas wie 'Kontakt &#UNICODE;'.

also nix mit

Code: Alles auswählen
document.getElementById('link4').innerHTML='<a href="blöö.html">philosophy []</a>';">


ich müsste ja theoretisch das ganze div einsetzen lassen, also so:

Code: Alles auswählen

      <div align="right" id="link1">   
      <a href="#" onclick="
      document.getElementById('link1').innerHTML='Philosophie [x]';
      document.getElementById('link4').innerHTML='
          <div align="right" id="link4">   
          <a href="#" onclick="
          document.getElementById('link1').innerHTML='Philosophie []';
          document.getElementById('link4').innerHTML='Kontakt [x]';">
          Kontakt []</a>
          </div> 
      ';">
      Philosophie []</a>
      </div>


damit dieselbe funktion nachher auch noch genau so nutzbar ist...

oder könnte ich einfach irgendwie die letzte funktion rückgängig machen? das wäre am einfachsten...

zurzeit kann ich kaum geradeausdenken, also bitte um nachsicht bei denk- oder grundsatzfehlern.

danke für anregungen,
niete
Niete
 
Beiträge: 107
Registriert: 09.07.2006, 12:44
Wohnort: winterthur ch


Beitragvon H-milch am 06.12.2007, 15:50

Ich würde dir raten, das du das Javascript erstmal aus dem Html text rausholst, und es in ner eigenen datei auslagerst. da schreibst du dann eine funktion für alles.
Damit die Funktion für alle Navielemente gleich funtkioniert, solltest du dein html so aufbauen:
<div align="right" id="link1">
<a href="javascript:function()">
Philosophie [<span></span>]</a>
</div>
Auf den span-tag kannst du dann mit child zugreifen.

Diese Funktion muss als erste, aus allen Navi elementen , bzw. aus allen span's das x entfernen, sofern eines vorhanden ist. Nachdem kein X mehr da ist. bei dem element bei dem du geklickt hast, in den span wieder ein x ein.
H-milch
 
Beiträge: 130
Registriert: 18.07.2006, 23:18



Ähnliche Themen


Zurück zu Webmaster-Anfänger

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste