kleines javascript problem

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
metty84
Mitglied
Beiträge: 159
Registriert: 08.03.2007 13:13
Wohnort: Marienberg
Kontaktdaten:

kleines javascript problem

Beitrag von metty84 »

moin, zu aller erst muss ich sagen ich bin ein javascriptneuling also bitte schlagt mich nicht :)

also ich hab nen kleines script gebastelt mit dem man eine box über einen link ein und ausgeblenden kann und gleichzeitig soll sich die farbe des links ändern. nur mein problem ist das zwar das ganzze funktioniert beim öffnen der box aber beim schließen ändert sich die farbe nicht wieder zurück in das schöne grün und bleibt rot

hier der code:

Code: Alles auswählen

<script type="text/javascript">
function swap(id) {
   box = document.getElementById(id);
   box.style.display = (box.style.display != "none") ? "none" : "";

   link_id = 'link' + id;
   link = document.getElementById(link_id);
   link.style.color = (link.style.color = "#00FF00") ? "#FF0000" : "#00FF00";
}
</script>



<a id="linkdetail{veranstalter.ROW_NUMBER}" style="cursor: pointer; color: #00FF00;" onclick="swap('detail{veranstalter.ROW_NUMBER}');"><b>[Details]</b></a>




<div id="detail{veranstalter.ROW_NUMBER}" style="display:none">
BOXCONTENT
</div>
ich hoffe mir kann irgendwer helfen und sagen wo der fehler liegt den ich zermater mir hier schon ne ganze weil das hirn :)
Nichts auf der welt ist so gerecht verteilt wie der Verstand.Denn jederman ist überzeugt das er genug davon habe.
Benutzeravatar
davil
Ehemaliges Teammitglied
Beiträge: 13
Registriert: 06.04.2001 02:00
Wohnort: Wien
Kontaktdaten:

Beitrag von davil »

Also auf die Schnelle kann ich da auch keinen Fehler finden, aber vielleicht spielt dir da der Browser einen Streich wegen dem CSS.
Schau mal ob die pseudo-Klassen für die Links (:link, :visited, :active) gesetzt sind, eventuell wird nämlich eine von denen aktiv und behält die Farbe bei.

Mit welchem Browser testest du? Oft hilft in solchen Situationen, das ganze mit 2-3 Browsern auszuprobieren (sollte man sowieso, um sicherzustellen, dass es für alle gleich aussieht).

Falls du mehr solche Sachen mit JS machst, kann ich dir übrigens die jQuery-Bibliothek ans Herz legen, die kümmert sich teilweise auch schon automatisch um solche Problemchen und reduziert deinen Code-Aufwand locker um den Faktor 2-3.
there's a phpBB modder in all of us
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Code: Alles auswählen

(link.style.color == "#00FF00")
:wink:
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
metty84
Mitglied
Beiträge: 159
Registriert: 08.03.2007 13:13
Wohnort: Marienberg
Kontaktdaten:

Beitrag von metty84 »

erstmal danke für die hilfe aber es nützt leider nix

die "pseudoklassen" für die links sind für alle links in der css gesetzt dürfte jedoch keine rolle spiele da ja javscript immer nur einen wert setzen kann und damit die "pseudoklassen" sowieso überschrieben werden.

getestet hab ichs mit dem IE 7 und firefox und das ergebniss ist das selbe

die variante von S2B funzt leider auch nicht da geht der wechsel überhaupt nichtmehr.

noch ne idee?
Nichts auf der welt ist so gerecht verteilt wie der Verstand.Denn jederman ist überzeugt das er genug davon habe.
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Die in der CSS-Datei definierten Eigenschaften werden nur dann von JavaScript eingelesen, wenn diese per @include direkt in der html-Datei eingelesen wurde (also nicht über <link />). Vielleicht liegt es ja daran...
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
metty84
Mitglied
Beiträge: 159
Registriert: 08.03.2007 13:13
Wohnort: Marienberg
Kontaktdaten:

Beitrag von metty84 »

ne liegt nicht an der css habs mal mit nem div stat dem a tag getestet und das problem war das selbe.

ich hab jetzt folgende variante jedoch funzt diese nur im IE aber nicht im firefox

Code: Alles auswählen

<script type="text/javascript">
function swap(id) {
   box = document.getElementById(id);
   box.style.display = (box.style.display != "none") ? "none" : "";
   link_id = 'link' + id;
   link = document.getElementById(link_id);
   link.style.color = (link.currentStyle.color == "#00ff00") ? "#ff0000" : "#00ff00"; 
}
</script>
jemand ne idee?
Nichts auf der welt ist so gerecht verteilt wie der Verstand.Denn jederman ist überzeugt das er genug davon habe.
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Teste doch das ganze mal mit einer anderen CSS-Eigenschaft, z.B. backgroundColor. Dann kann man den Bug ein bisschen eingrenzen.
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Antworten

Zurück zu „Coding & Technik“