Frage

Ich bin mit jQuery 1.3.2.

Ich habe Probleme bekommen eine richtige „Höhe“ in Internet Explorer 6. Höhenwerte korrekt in allen anderen Browsern.

Ich bin auch mit wresize jQuery-Plugin .

Jedes Mal wenn der Browser lädt, Feuer ich eine Methode, die divs, iframes basierend auf Browser Dimensionen skaliert. (Es gibt einen guten Grund dafür.)

Der zurückgegebene Wert von $ ( 'Körper'). Höhe (), in IE 6, scheint 10 Pixel nach jeder Resize des Browsers hinzuzufügen.

Jeder andere kommen über so etwas?

var iframeH = 0, h = 0, groupH = 0, adjust = 0;

var tableH = $("#" + gridId + "_DXHeaderTable").parent().height();
var pagerH = $(".dxgvPagerBottomPanel").height();
var groupHeight = $(".dxgvGroupPanel").height();

if (pagerH == null)
    pagerH = 0;

if (groupHeight != null)
    groupH = groupHeight + pagerH;

iframeH = $('body').height();
h = (iframeH - (tableH + pagerH + groupH));

$('#' + gridId + "Panel").css("height", (h + "px"));
$("#" + gridId + "_DXMainTable").parent().css("height", (h + "px"));

Dieser Code ist für die Höhe eines DevExpress Grid Einstellung in es übergeordneten Container ist. Ignorieren Sie die Tatsache, dass der Code besser sein könnte. :)

Gibt es etwas anderes als „Körper“, die ich verwenden könnte mir eine richtige Größe zu bekommen? Ich habe das Fenster Objekt versucht ($ (Fenster) .height ()), aber das scheint nicht viel zu helfen.

Alle Gedanken sind geschätzt!

War es hilfreich?

Lösung

Das Problem Sie konfrontiert ist eher ein CSS-Rendering Unterschied. Wegen der schwebenden Probleme, Polsterung und Marge Rendering Unterschiede zwischen den Browsern.

versuchen zu bekommen $ ( "body"). Innerheight () und $ ( "body"). OuterHeight () und vergleichen sie in verschiedenen Browsern, Sie‘ ll einige gemeinsame Ergebnisse erzielen. Im schlimmsten Fall müssen Sie möglicherweise einige if Fälle

laufen

Andere Tipps

Sicher, hier sind ein paar Ideen:

Mit IE und esp. ältere IE, Ich mag eine 1-10ms SetTimeout Aussage um meine Höhe Rendering-Funktionen hinzufügen - es gibt den dom und IE eine Chance zu „entspannen“

Also, stellen Sie sicher, dass Sie Sachen sichtbar auf Seite -. Hierfür müssen Sie die Dinge aus dem Bildschirm vorübergehend absolute Position werfen und sie dann am Bildschirm wieder offenbaren

Eine andere Sache ist, dass Höhe () manchmal wackelig ist. Versuchen Sie CSS- ( ‚height‘) abrufen Höhen [es ist auch schneller] und entfernen Sie die ‚px‘ für das, was manchmal eine wahrere Messung.

oder eine Abmessungen Plug in für jQuery, dass Sie viel mehr gibt, mit zu arbeiten und es ist Cross-Browser.

Ich benutze dieses Plugin, um Zeilen aus einem ziehbar zu einem abwerfbaren zu zeichnen, wie ich es hier

$('body').height(); // call this first

iframeH = $('body').height(); //then try this
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top