jquery - Entferne die Klasse basierend auf der Bedingung

7

Ich lese alle 1 Minute eine JSON-Antwort und basierend auf der Antwort, die ich Overlay auf meiner Seite hinzufüge oder entferne. Meine Antwort ist die meiste Zeit positiv, in diesem Fall sollte ich die Overlay-Klasse entfernen. Im folgenden Code wird else part jedes Mal ausgeführt und die Klassen- und Versteckfunktionen werden jedes Mal ausgeführt. Gibt es einen Weg dies zu vermeiden? Gibt es in jquery eine Methode, um zu überprüfen, ob eine Klasse hinzugefügt wurde oder nicht? Auch ausblenden ist aktiv oder nicht. Oder kann jemand eine Syntax angeben, um dies zu erreichen, indem man eine boolesche Variable setzt und unscharf schaltet.

%Vor%     
JavaUser 30.01.2016, 11:05
quelle

4 Antworten

13

Sie können toggle() und toggleClass() mit Boolean value keine Notwendigkeit der if...else Anweisung, sonst false

%Vor%

Und um zu überprüfen, ob ein Element eine Klasse hat oder nicht, können Sie hasClass() verwenden Das gibt true zurück, wenn die übereinstimmenden Elemente der angegebenen Klasse zugewiesen sind

    
Pranav C Balan 30.01.2016 11:12
quelle
4

Versuchen Sie wie folgt und halten Sie die $() query methods in Variable effizient!

%Vor%     
Venkat.R 30.01.2016 11:15
quelle
3

Sie können überprüfen, ob ein Element eine bestimmte Klasse mit hasclass() aufweist:

%Vor%

Sie können jedoch toggle() und toggleClass() , siehe Pranavs Antwort .

    
cfischer 30.01.2016 11:11
quelle
0

Ich denke, Sie bekommen data.is_running als "wahr"

Bitte ändern Sie Ihren Code wie folgt

%Vor%     
Ali Khan 30.01.2016 11:22
quelle

Tags und Links