2010-09-23 9 views
7

style de lien:jQuery outerHeight ne fonctionne pas correctement?

#carousel ul li { 
    display: inline-block; 
    border: solid 1px red; 
    margin: 50px 25px 50px 25px; 
    width: 350px; 
    height: 300px; 
} 

code jQuery:

var height = $("#carousel ul li").outerHeight(); 

document.write(height); 

Et il dit hauteur de l'élément est 302px! Pourquoi? Il est peut-être 302 avec des bordures, mais ne devrait pas montrer 300 + 2 + 100 (les deux marges supérieure et inférieure sont 50 px).

Je suis confus.

Merci.

Répondre

29

Par outerHeight par défaut() ne comprend pas les marges. Transmettre true pour inclure les marges dans le calcul comme suit:

var height = $("#carousel ul li").outerHeight(true); 
+1

bonne réponse! vraiment sauvé ma vie! –

1

Non. la marge n'est pas comptée. la hauteur, la bordure et le rembourrage sont.

si votre li contient des éléments de bloc avec une marge qui est comptée cependant.

0

Essayez:

var height = $("#carousel ul li").height(); 

Ou:

var height = $("#carousel ul li").css('height');