Versteckte div height (ändere meinen Rat)

8

Ok, ich würde hier auf SO Fragen darüber antworten, warum ihr Skript nicht funktionierte. Sie haben Inhalt in ein verstecktes div geladen und dann die Höhe erreicht, damit sie das Wrapping div animieren konnten. Aber ich versuche immer, den von mir bereitgestellten Code zu testen. Also habe ich diese Demo gemacht , um es ihnen zu beweisen.

Also, ähm, bin ich in die Twilight Zone gekommen oder träume ich gerade? drückt selbst AUTSCH!

Ich habe diese Demo in Firefox, IE und Chrome versucht und beide Methoden geben den gleichen Wert zurück. Firebug sagt Null! Ich startete meinen Computer neu und ich änderte sogar den Code ein wenig (entfernte die Höhenfunktion) und versuchte es mit jQuery 1.3.2 und es funktionierte immer noch! Ich kenne versteckte Elemente GEBRAUCHT , um einen Nullwert zurückzugeben. Auch diese SO Antwort gibt der Ratschlag, den ich hätte!

Also ich denke, meine Frage ist ... habe ich etwas vermisst oder geben wir schlechte Ratschläge?

    
Mottie 18.05.2010, 22:42
quelle

4 Antworten

11

Wenn Sie den Quelltext von jQuery 1.4.2 und 1.3.2 betrachten, führt er dies automatisch durch, wenn Sie width() oder height() für ein verstecktes Element aufrufen. Es setzt die folgenden Attribute:

%Vor%

Dann erhält es die Breite / Höhe und stellt die alten Werte der Attribute wieder her.

Sie müssen also die Attribute nicht selbst ändern - jQuery übernimmt das für Sie.

& lt; Bearbeiten & gt;
Auf diese Weise können Sie die Abmessungen eines verborgenen Elements ermitteln. Es funktioniert jedoch nicht, wenn das Element in einem anderen versteckten Element enthalten ist - Sie erhalten eine Höhe von 0. In diesem Fall benötigen Sie eine andere Lösung, möglicherweise wie diese Antwort .
& lt; / Bearbeiten & gt;

Hier sind die relevanten Bits des Quellcodes von 1.4.2:

%Vor%     
interjay 18.05.2010, 23:10
quelle
1

Ich stieß auf das gleiche Problem mit der versteckten Elementbreite, also schrieb ich diesen Plugin-Aufruf jQuery Actual , um es zu beheben. Anstatt

zu verwenden %Vor%

verwenden

%Vor%

gibt Ihnen den richtigen Wert für das verborgene Element oder Element hat einen versteckten Elternteil.

Sie können auch

verwenden %Vor%

Die vollständige Dokumentation finden Sie hier . Es gibt auch ein Demo-Include auf der Seite.

Ich hoffe, diese Hilfe:)

    
ben 05.04.2011 17:12
quelle
0

Sie können auch das Attribut scrollHeight des Javascript verwenden.

%Vor%     
QuarK 04.07.2013 15:52
quelle
0
%Vor%

gibt die Höhe vom DOM-Element an, das auch für versteckte Elemente

gesetzt ist     
Luca C. 02.08.2016 14:57
quelle

Tags und Links