Je me demande s'il y a un moyen d'obtenir la hauteur de div en pixels, bien que sa hauteur soit définie plus tôt à 100% de hauteur.
Ceci est requis car DIV Content est dynamique de sorte que la hauteur DIV a des valeurs différentes en fonction du contenu lui-même. p>
[modifier] strong>
DIV par défaut est caché. P>
J'ai besoin d'obtenir la hauteur div en pixels pour une manipulation ultérieure (le défilement lisse sera fait pour DIV)?
Y a-t-il un moyen de faire cela? P>
5 Réponses :
Depuis que vous avez marqué jQuery, utilisez http: // API. jquery.com/height/ p> pour la plaine ol 'JavaScript, vous pouvez utiliser
Étant donné que la div est cachée, vous devrez element.Clientheight code>
ou < code> élément.offSetheight code> , selon lequel on convient à vos besoins.
p>
.Show () code> il avant d'appeler
.Height () code>, et vous pouvez le masquer immédiatement: p> < Pré> xxx pré> p>
element.clientheight ou élément.offSetheight retour "0", car Div est masqué par défaut.
@Ahmed: Les éléments cachés n'ont pas de "hauteur de pixel", vous ne pouvez donc pas obtenir de la hauteur en pixels sans montrer l'élément en premier, puis la cache ensuite ensuite. Si vous vous cachez juste après avoir montré et obtenez la valeur de la hauteur, l'affichage ne sera pas mis à jour pour afficher l'élément.
theDiv.clientHeight
Eh bien sur les navigateurs lents La méthode Show / Masquer peut faire scintiller la boîte (bien que l'ordinateur soit vraiment lent). Donc, si vous voulez éviter cela, donnez-lui une opacité de Div: 0 - et peut-être même une position: absolue, donc il ne pousse pas le contenu. Donc, pour étendre le code d'avant: mais à nouveau. Cela pourrait être surchargé. P> p>
Utilisez-vous jQuery? ou vous voulez une solution pure JS?