jQuery .show () fügt style="display: inline-block" zu Elementen hinzu

8

Ich arbeite an einer Site, die ich bei meiner Arbeit geerbt habe und die den Fortschritt der Spende anhand von Fortschrittsbalken / Etiketten anzeigt. Die meisten Listen haben 9 Jahre (z. B. 1990-1999), die letzte jedoch 13 (2000-2012). Aus diesem Grund habe ich eine JavaScript-Funktion showHiddenBars() , die die entsprechenden Elemente anzeigt / versteckt.

Beim ersten Laden wird alles korrekt angezeigt (standardmäßig wird "2000-2012" angezeigt), aber nachdem Sie sie ausgeblendet und dann angezeigt haben, wird das Layout durcheinander gebracht. Was ich über den Inspector von Google Chrome feststellen kann ist, dass wenn die .show() -Funktion verwendet wird, style="display: inline-block" zu meinem span-Element hinzugefügt wird, das das Label enthält. Ich verwende den clip -Effekt der jQuery-Benutzeroberfläche mit den Funktionen zum Ein- und Ausblenden.

Wie verhindere ich das Hinzufügen von style="display: inline-block;"

Volles Javascript: Ссылка

Vollständiger HTML-Code: Ссылка

Beispielseite: Ссылка

Das Javascript:

%Vor%

Das HTML:

%Vor%     
kkirsche 28.03.2013, 18:55
quelle

2 Antworten

15

Legen Sie den Stil für die Sichtbarkeit explizit so fest, wie Sie möchten: Verlassen Sie sich nicht auf hide () und show ():

%Vor%     
Sabu's Lead Coder 28.03.2013, 19:03
quelle
3

Ich denke, wenn der Defaut-Stil für das Element inline ist, dann fügt es Inline-Block hinzu, zumindest für ausgewählte Dropdowns fügt es auch Inline-Block hinzu. Wenn Sie einen Block hinzufügen müssen, verwenden Sie die .css

%Vor%

Sie können immer noch .hide () zum Verbergen verwenden, das muss nicht geändert werden

    
Huangism 28.03.2013 19:02
quelle

Tags und Links