onsubmit toggle(); funktioniert nicht

D34DL1NES

Erfahrenes Mitglied
Hi
Ich habe eine Funktion die ich via onsubmit aufrufe. in dieser wier ein div(via jquery) getoggled und danach animated. Das animieren funktioniert auch wunderbar aber das togglen nicht.

function hideBlackdiv()
{
alert("1");
Blackdiv.toggle();
alert("2");
Blackdiv.animate({"opacity": 0});
}

jQuery ist vorher korrekt eingebunden. Target der Form ist auch vergeben. Seht ihr einen Fehler?
 
Ich habe meine eigene schlanke Lightbox kreiirt in der ich jeden beliebigen Effekt und Content so plazieren kann wie ich will und ohne mich woanders reinzuarbeiten.

Die braucht aber den höchsten z-index damit sie alle überdekct wenn man sie nicht appended sondern Grundsätzlich im XHTML hat. damit der rest aber nutzbar bleibt braucht sie display: none. so habe ich es jetzt auch gelöst: statt

Blackdiv.toggle();

Blackdiv.style.display="none";

wirft zwar folgenden Fehler:

Blackdiv.style is undefined
[Break on this error] Blackdiv.style.display=="none";\n

aber funktioniert dennoch^^

Wenn jemand noch eine bessere Lösung weiß die ohne Fehler daherkommt wäre ich sehr verbunden.

EDIT:

Es gibt noch folgende Möglichkeit ohne Fehler:

Blackdiv.attr("display","none");

Was natürlich auch nicht stimmt, es muss Blackdiv.css("display","none"); heissen.
 
Zuletzt bearbeitet:
Warum es trotz des Fehlers funktioniert, kann ich nicht sageb.

Da du aber erwähnt hast, dass animate() funktioniert, ist davon auszugehen, das Blackdiv kein DOM-Element ist, sondern ein JQuery-Objekt...das ist nicht dasselbe.

Um ein JQuery-Objekt zu verbergen, verwende hide()
 
Danke für den hint auf hide() (hatte ich ganz vergessen)

Nein es ist ein DOM Objekt, ich definiere ein <div> ganz normal in XHTML mit id, und die habe ich in der Variable abgelegt. Aber Danke trotzdem ;D
 
Wenn es an dem wäre, würde auch animate nicht funktionieren.

Angenommen, du hast ein div mit der ID 'black'...du hast ja geschrieben, dass du das in einer Variablen speicherst...das <div> ist natürlich ein DOM-Element, deine Variable muss das jedoch nicht sein.

Beispiel:
Code:
Blackdiv=document.getElementById('black');
//Blackdiv ist ein Zeiger auf das DOM-Element

Blackdiv=$('#black');
//Blackdiv ist ein JQuery-Objekt
 
Achso! ok, dann wirst du wohl recht haben. :-(

Und nochmal zu meinem alten Post( ich editiere es auch gleich noch)

es muss natürlich css() und nicht attr() genutzt werden.
 

Neue Beiträge

Zurück