css () und Deckkraft .. folgende fadeIn () funktioniert nicht

8

Wenn ich in css () die Deckkraft auf 0 setze funktioniert das folgende fadeIn () nicht

Wenn ich die Deckkraft auf 1 setze, wird das Element loader angezeigt, aber es wird natürlich kein Fading mehr geben.

%Vor%

wenn ich display: none es funktioniert!?

%Vor%     
clarkk 18.05.2011, 13:37
quelle

3 Antworten

13

Versuchen Sie es mit fadeTo()

%Vor%     
wdm 18.05.2011, 13:42
quelle
9

Das Problem ist, dass jQuery nur Funktionen wie fadeIn ausführt, wenn das Element nicht sichtbar ist. jQuery führt intern $(this).is(':hidden') aus, um zu entscheiden, ob die Animation ausgeführt werden soll oder nicht. Der Filter hidden überprüft eindeutig nicht, ob die Opazität 0 ist. Es sollte wahrscheinlich.

Die offensichtliche Lösung besteht darin, display: none so zu setzen, wie Sie haben, oder hide() vor Ihrem Aufruf von fadeIn() aufzurufen, wenn Sie sicher sind, dass das Element ausgeblendet ist.

Die andere Lösung besteht darin, den hidden Filter neu zu definieren, um nach Opazität zu suchen:

%Vor%

Beim Ausführen von .is(':hidden') wird nun nach Opazität gesucht. Siehe jsFiddle .

Ich habe einen Fehlerbericht eingereicht, um dieses Problem zu beheben.

    
lonesomeday 18.05.2011 13:49
quelle
4

.fadein () wird verwendet, um ein verstecktes Element anzuzeigen. Ich weiß nicht, ob es mit einer Deckkraft von 0 arbeitet. Stattdessen ist die Deckkraft: 0 try display: none

edit: sieht so aus, als hättest du das herausgefunden, bevor mein Beitrag durchging

    
Gordnfreeman 18.05.2011 13:44
quelle

Tags und Links