Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Layer erscheint erst nach doppelklick auf den Link





Frage

der Layer soll beim onklick auf den Link erscheinen allerdings muss man doppelt klicken damit er erscheint. Versteckt man ihn wieder und öffnet ihn erneut so bedarf es nur noch einen Click! Kann mir dabei jemand weiter helfen? ###### Style ######## <STYLE TYPE="text/css"> <!-- .para { font-size: 10px; margin-bottom: 10px; visibility: visible; display: none; position: relative;} --> </STYLE> #################### ##### JAVA ########## <script language="JavaScript"> function blocking(nr) { if (document.layers) { current = (document.layers[nr].display == ´none´) ? ´block´ : ´none´; document.layers[nr].display = current; } else if (document.all) { current = (document.all[nr].style.display == ´none´) ? ´block´ : ´none´; document.all[nr].style.display = current; } else if (document.getElementById) { vista = (document.getElementById(nr).style.display == ´none´) ? ´block´ : ´none´; document.getElementById(nr).style.display = vista; } } </script> ################################## ######## LINK & LAYER ############## print " <A CLASS=\"page\" HREF=\"#\" onClick=\"blocking(´number1´); return false;\"><img src=\"images/max.gif\" alt=\"Beschreibung anzeigen\" border=\"0\" /></A>"; print"<span CLASS=\"para\" ID=\"number1\">$o->art_notes</span>"; [*][quote][sup][i]Admininfo: bitte vermeide Mehrfachanfragen in verschiedenen, bzw. gleichen Gruppen. [url=https://supportnet.de/showfaq/1085310][u][b]Ein FAQ dazu.[/b][/u][/url][/i][/sup][/quote]

Antwort 1 von rfb

das Problem liegt bei
Zitat:
document.getElementById(nr).style.display == ´none´
beim ersten Aufruf ist dort noch nix definiert, also ist dieser Wert leer, mithin also nicht "none"

dreh die Abfrage um in
document.getElementById(nr).style.display != ´block´

dann klappt es beim ersten mal

Antwort 2 von rfb

PS: natürlich gibts das gleiche Problem vermutlich in den oberen Abfragen. Die kannst du aber auch getrost weglassen, da die neueren grafikorientierten Browser alle document.getElementById kennen (Nicht klappts mit dem Netscape 4, aber der kennt auch "display:block" nicht).

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: