Il y a quelques questions similaires sur Stack mais je pense que le mien est le résultat d'une erreur de syntaxe de ma part. Quoi qu'il en soit, je construis une lightbox en javascript et je veux mettre dynamiquement la position absolue (left %
css) à la moitié de la largeur de l'élément.Javascript - changer dynamiquement la largeur d'un élément
Ceci est un extrait du code. code complet est ici http://jsfiddle.net/Yab3Q/4/
var modal = document.getElementById(btnId+"-modal");
var modalChildren = modal.childNodes;
for (var x = 0; x<modalChildren.length; x++){
if (!(modalChildren[x].className === "lightBox")){
var childWidth = modalChildren[x].offsetWidth;
var halfWidth = childWidth/2;
modalChildren[x].style.left = halfWidth + "px";
}
}
La ligne modalChildren[x].css.left = halfWidth + "px";
est de retour "Uncaught TypeError: Impossible de définir la propriété 'left' undefined". Cependant, modalChildren[x].className
et modalChildren[x].offsetWidth;
renvoient tous les deux les valeurs attendues, donc je ne suis pas sûr pourquoi je peux voir mais ne pas mettre à jour le CSS ici.
Voulez-vous dire cette ligne? 'modalChildren [x] .style.left = demi-largeur +" px ";' – NullRef