Ich bekomme unvorhersehbare Ergebnisse, wenn ich jquery css("display")
auf einem Element anrufe; manchmal ist es flex
, manchmal ist es block
. Es ist seltsam, dass dieser Fehler nur dann auftritt, wenn ich jquery show
/ hide
benutze und der Fehler etwa 50% der Zeit auftritt. Noch seltsamer ist, dass ich diese Ergebnisse sehe, bevor hide
sogar ausgeführt wird.
Update: Es scheint auch mit diesem Google Webfont CSS verbunden zu sein bin inklusive. Wenn ich die Schriftart entferne, verschwindet das Problem. Das ist alles sehr seltsam.
Hier ist eine Vereinfachung meines Codes:
js:
%Vor%html:
%Vor%css:
%Vor%Das korrekte Verhalten sollte ausgedruckt werden:
%Vor%Aber was ich in etwa 50% der Zeit sehe ist:
%Vor%Irgendwelche Ideen zu was könnte das verursachen? Ich möchte wissen, warum .
BEARBEITEN: Nach Ссылка verbergen Sie den vorherigen Zustand. Aber wie es scheint, funktioniert es in Ihrem Fall nicht. Lösung:
js
%Vor%css:
%Vor%So ersetzen Sie die js mit meiner js und fügen Sie .hideFlex zu Ihrem CSS. Sollte dann funktionieren.
Ihr Code funktioniert in der neuesten Version von jquery
IMO Was auch immer das Problem ist, liegt daran, dass Ihr Code (vielleicht sogar das CSS) diese Anzeige an einem bestimmten Punkt blockiert und Sie merken es nicht.
Versuchen Sie es mit addClass und removeClass. Ausblenden und anzeigen legen Sie den zu blockierenden Wert fest.
%Vor%Damit die JQuery-Funktionen hide () und show () ordnungsgemäß funktionieren (den ursprünglichen Anzeigewert beibehalten), sollte das Element zu dem Zeitpunkt, an dem die Funktion aufgerufen wird, Teil des DOM sein. Vielleicht entlädt Google Webfonts Ihren Inhalt vorübergehend von DOM ...
Problem kann so reproduziert werden:
%Vor%Tags und Links javascript html jquery css