jQuery hauteur() des problèmes avec Internet Explorer 6
Je suis en utilisant jQuery 1.3.2.
Je vais avoir du mal à obtenir une bonne "hauteur" dans Internet Explorer 6. Hauteur valeurs sont correctes dans tous les autres navigateurs.
Je suis également en utilisant wresize plugin jQuery.
Chaque fois que le navigateur charge, j'ai le feu d'une méthode qui redimensionne les divs, les iframes basé sur les dimensions du navigateur. (Il y a une bonne raison à cela.)
La valeur de $('body').hauteur(), dans IE 6, semble ajouter 10 pixels après chaque redimensionnement du navigateur.
Quelqu'un d'autre venir à travers quelque chose comme ça?
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"));
Ce code pour le réglage de la hauteur de DevExpress grille du conteneur parent. Ignorer le fait que le code pourrait être mieux. 🙂
Est-il autre chose que le "corps" que je pourrais utiliser pour me faire une taille correcte? J'ai essayé de l'objet window ($(window).height()), mais cela ne semble pas aider beaucoup.
Toutes les pensées sont appréciées!
Lol! Si seulement je pouvais.
OriginalL'auteur Steven Rogers | 2009-04-29
Vous devez vous connecter pour publier un commentaire.
Le problème auquel vous faites face est plus susceptible d'être un css différence de rendu. Car du flottant des problèmes, le remplissage et la marge de rendu des différences entre les navigateurs.
essayer d'obtenir $("body").innerHeight() et $("body").outerHeight() et de les comparer dans les différents navigateurs, vous obtiendrez des résultats communs. Dans le pire des cas, vous pourriez avoir besoin d'exécuter certains
if
casOriginalL'auteur eringen
Sûr, voici quelques idées:
Avec IE, et esp. les plus âgés c'est à dire, j'aime ajouter un 1-10ms setTimeout déclaration autour de ma taille fonctions de rendu -- il donne les dom et IE une chance de "se détendre"
Aussi, assurez-vous que vous êtes stuff est visible sur la page -- pour cela, vous pouvez avoir besoin de jeter des choses hors de l'écran temporairement à l'aide de la position absolue, et ensuite les afficher à l'écran à nouveau.
Une autre chose est que la hauteur() est parfois bancale. Essayez de .css('height') pour récupérer les hauteurs [c'est aussi plus rapide] et retirer le " px " pour ce qui est parfois une vraie mesure.
OriginalL'auteur
ou utiliser un Les Dimensions de plug in pour jQuery qui vous donne beaucoup plus de travail et il est de la croix-navigateur.
J'utilise ce plugin pour dessiner des lignes à partir d'un déplaçable à un drop, comme je l'ai montrer ici
S'agit-il? Je ne savais pas que, Remy (jQueryForDesigners) dû l'utiliser une seule fois pour une démo, et il ne faisait pas partie du jQuery... je ne peux pas confirmer que c'est, la cause il ya beaucoup de méthodes pour les Dimensions qui ne sont pas disponibles en jQuery.
OriginalL'auteur balexandre
OriginalL'auteur Kevin