jquery css réglage en hauteur ne fonctionne pas correctement
Je suis en train d'utiliser certains jQuery pour définir les colonnes droite et gauche de mon produit et de pages de catalogue (avec une classe de .columns
) à la hauteur de mes #detail
<div>
qui dispose de quelques données extraites d'une base de données SQL.
Donc, je suis en utilisant ce code jQuery:
$(document).ready(function() {
detailHeight = $('#detail').css('height');
columnHeight = detailHeight + 10;
$('.columns').css('height', columnHeight 'px');
});
Ma page est ici: http://www.marioplanet.com/product.asp?IDnum=1
Pour une raison quelconque, les hauteurs sont pas correctement..
Toutes les idées pour lesquelles?
Merci!
Vous devez vous connecter pour publier un commentaire.
Vous avez une faute de frappe ici:
La
+
est manquant:Mais, comme souligné par d'autres, à l'aide de la
css()
fonction pour accéder à la hauteur d'un élément est mauvais pour votre code comme il se retourne et attend une chaîne avec un CSS de l'unité après la valeur numérique. Par conséquent, vous n'êtes pas vraiment l'ajout de chiffres, mais de la concaténation de chaînes. C'est pourquoi ce code ne fonctionne pas.Pour corriger votre code, utilisation de jQuery méthode de convenance
height()
pour l'obtention et le réglage de la hauteur d'un élément comme une valeur numérique à la place. Il suffit de passer votre nombre comme argument lors de la configuration il:20px10px
lorsqu'il est passé dans cette fonction.Avez-vous essayé
.height()
ou même.attr("height")
?attr("height")
ne fonctionne pas parce queheight
n'est pas un attribut HTML.suggestion,
Comme tout le monde l'a mentionné le manque symbole " + " dans le dernier rapport, mais quand j'ai couru alert() sur la variable columnHeight (à l'aide de mon exemple), il a montré 20px10. J'ai enveloppé detailHeight à l'intérieur d'un parseInt() et cela a fonctionné.
Extrait de code HTML
JS Extrait de