J'ai une question sur la façon d'obtenir une hauteur de div. Je suis au courant de .height()
et innerHeight()
, mais aucun d'eux ne fait le travail pour moi dans ce cas. Le fait est que dans ce cas, j'ai un div qui est débordé de largeur: un débordement: scroll et le div a une hauteur fixe.
Si j'utilise .height()
ou innerHeight()
, ils me donnent tous les deux la hauteur de la zone visible, mais si je veux que le débordement soit pris en compte, comment procéder?
Utilisez la propriété .scrollHeight
du noeud DOM: $('#your_div')[0].scrollHeight
Pour plus d'informations sur .scrollHeight
propriété se référer à la docs :
L'attribut Element.scrollHeight en lecture seule est une mesure de la hauteur du contenu d'un élément, y compris du contenu non visible à l'écran en raison d'un débordement. La valeur scrollHeight est égale à la valeur clientHeight minimale requise par l'élément pour que tout le contenu puisse être contenu dans le point de vue sans utiliser de barre de défilement verticale. Il inclut l'élément padding mais pas sa marge.
Une autre possibilité serait de placer le code HTML dans un non-débordement: élément caché placé "hors" de l'écran, comme une position absolue inférieure et inférieure puis 5000px, puis lisez la hauteur de cet élément. C'est moche, mais ça marche bien.