Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „jQuery: wandernde klasse reagiert nicht“

Mott

Nobody

Hallo PSDler,

ich arbeite gerade an meiner Portfolioseite. In meinem Menü bekommt der zuletzt angeklickte Punkt immer die klasse "active". wenn ich dann noch einmal auf "active" klicke, sollte eine function starten.
Das tut sie aber nur bei dem div, dem ich zu anfangs "active" gegeben habe, auch, wenn es gar nicht mehr active ist. Es reagiert also, als ob die klasse nie gewandert wäre.

Und nachdem diese Erklärung wohl recht dürftig ist, hier noch ein vereinfachtes fiddle davon: http://jsfiddle.net/MottII/dwSfp/9/

die betreffende funktion ist ganz unten.

Bitte um Hilfe :)
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: jQuery: wandernde klasse reagiert nicht

Klar, du weist ja auch nur allen Elementen die als Klasse active haben den Event-Handler für click zu. Das ist beim Laden der Seite nur dieses erste Element.

Entweder weist du innerhalb von select() dem neuen aktiven Element den Event-Handler wieder zu, oder du gibst jedem Menüpunkt anfangs den Event-Handler, prüfst aber vor dem alert() ob das angeklickte Element das aktive ist.

Letztere Lösung scheint mir schicker, aber beide sollten funktionieren.


Duddle
 

Mott

Nobody

AW: jQuery: wandernde klasse reagiert nicht

Wie genau prüfe ich, ob das Element das aktive ist? Ich habs mit .hasClass probiert, das gibt mir aber offensichtlich nur true aus..

Code:
var active = $(this).hasClass("active");
if (active = true) {
      alert("funktion starten");
};

EDIT: natürlich, klarer fehler im code.

Code:
var active = $(this).hasClass("active");
if (active==true) {
      alert("funktion starten");
};

jetzt funktionierts zwar generell, aber anscheinend kommt active schon so schnell auf den div, dass die funktion dann auch schon ausgeführt wird. und der delay funktioniert komischerweise nicht...


http://jsfiddle.net/MottII/dwSfp/17/
 
Zuletzt bearbeitet:

Misco

Nicht mehr ganz neu hier

AW: jQuery: wandernde klasse reagiert nicht

du brauchst etwas wie .live() um dynamisch hinzugefügte Klassen/Events zu manipulieren.
 

Duddle

Posting-Frequenz: 14µHz

AW: jQuery: wandernde klasse reagiert nicht

Oops, das hatte ich übersehen. Ich würde wohl die Abfrage ob das Geklickte dem Aktiven entspricht in den ersten Click-Handler packen. Schließlich soll in beiden etwas abhängig vom aktuell geklickten Feld entschieden werden.
Aber das ist letztlich auch kein großer Unterschied.



Duddle
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
175.189
Beiträge
2.582.077
Mitglieder
67.259
Neuestes Mitglied
SaschMasch1312
Oben