• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem mit If/Else Bedingung

HobbyTroniker

Neues Mitglied
Hallo Leute,

ich bräuchte dringend Hilfe in Sachen Javascript. Und zwar möchte ich eine Tabelle erstellen, in der zwei Zeilen sind. Wenn man in die erste Zeile klickt soll die zweite Zeile aus- und wieder eingeblendet werden. Dass aus- bzw. einblenden jeweils in einer Zeile habe ich bisher hingekriegt. Allerdings kriege ich es nicht hin das hin und her switch zwischen ein- und ausblenden. Wäre schön wenn mir einer helfen könnte.

Hier mal mein bisheriger Versuch:

HTML:
<html>
<head>
<script type="text/javascript">
function visible () {
  if (document.getElementById("cde") .style.visibility != "hidden") {
    document.getElementById("bcd").style.visibility = "visible";
}  else (document.getElementById)
    document.getElementById("bcd").style.visibility = "hidden";
    }
</script>
</head>
<body bgcolor="#ffffff" text="#000000" link="#89356a" vlink="#89356a" alink="#89356a">
<table width="100%" cellspacing="0" cellpadding="0" border="1">
<tr>
<td id="abc" width="50" height="15" class="PageBorder" bgcolor="#ffffff" style="visibility:visible">
<a href="javascript:visible()">Einblenden</a></td>
</tr>
<tr>
<td id="bcd" width="50" height="15" class="PageBorder" bgcolor="#c0cedb" style="visibility:hidden"></td>
</tr>
</table>
</body>
</html>
 
Zuletzt bearbeitet von einem Moderator:
Wenn du valides HTML postest, so richtig mit Doctype und Title, dazu die Style-Anweisungen entweder in einen CSS-Container in den Head verschiebst oder in eine externe Datei auslagerst, und vor allem die Tabelle durch zeitgemäßen Code ersetzt, dann schreibe ich dir das Script. ;)
 
Ersteinmal danke für die Antwort, hab mittlerweile selbst eine Lösung für mein Problem gefunden. Aber mich würde interessieren was du unter zeitgemäßen Code verstehst.

Falls jemand dass gleiche Problem hat, hier meine Lösung:

HTML:
<head>
<script language="JavaScript" type="text/javascript">
function hidden1(div) {
  with(document.getElementById(div).style){
    if(display=="none"){
      display="inline";
    }
    else{
      display="none";
    }
  }
}
</head>
HTML:
<a href="#" onClick="hidden1('001'); return false;">Ein/Ausblenden</a>
HTML:
<div id="001" style="display:none;">Text der ein bzw. ausgeblendet werden soll</div>
 
Ich meinte damit die Tabelle und Attribute wie bgcolor, vlink, etc. Das ist sowas von 1996. Statt dessen verwendet man heute DIVs und CSS für das Styling.

Im Hinblick auf das Script kann ich dir noch eine elegantere Lösung anbieten. Binde jQuery im Head ein und schreibe in den Eventhandler:

HTML:
<a href="#" onclick="$('#001').toggle();">Ein/Ausblenden</a>

Dann kannst du den Rest des JavaScripts löschen.
 
Das mit den Stylesheets und jQuery ist zwar gut und schön, doch wenn man von beidem keine Ahnung hat dann benutzt man diese natürlich nicht. Außerdem probier ich mich ja grad an Javascript, da schmeiß ich es natürlich nicht wieder raus und ersetzt es durch was anderes. Trotzdem danke, vielleicht guck ich mir demnächst mal ein CSS Tutorial an.
 
doch wenn man von beidem keine Ahnung hat dann benutzt man diese natürlich nicht. Außerdem probier ich mich ja grad an Javascript, da schmeiß ich es natürlich nicht wieder raus und ersetzt es durch was anderes


Solche Statements sehe ich eigentlich eher kritisch. Denn wenn man willens ist eine Website zu erstellen, dann sollte man doch auch den Wunsch haben es gleich richtig zu machen. Etwas zusammenzubasteln von dem man nicht weiß wie es funktioniert ist meiner Meinung nach kein guter Ansatz. Lern dich ein und mach es richtig. Schön der Reihe nach. Erst lernen korrektes HTML/CSS zu schreiben und anschließend an Javascript rangehen. JS bietet eben riesige Möglichkeiten in der DOM-Manipulation was ein gutes Verständnis von HTML voraussetzt.

Wenn du das natürlich für z.B. schulische Zwecke brauchst und es dir egal ist wie gut dein Ergebnis später werden soll nach dem Prinzip: Hauptsache es funktioniert kannst du meinen Ratschlag aber getrost ignorieren.

Grüße,
spacecookie
 
Zurück
Oben