Decaps' crypt

Né d'une mère caféïnomane et donc d'un père colateur.

Valeurs erronées avec .height()/.css("height") ou .width()/.css("width") de jQuery sous Opera

Lorsque l'on veut récupérer la hauteur d'un objet du DOM avec jQuery, on écrit par exemple cela :
$(document).ready(function() {

var obj = $("#an_id");
var height = obj.css("height");
}
Or, il arrive que l'on obtienne de fausses valeurs, cela vient du fait qu'actuellement Opera déclanche l'événement "DOM ready" avant que les CSS externes soient chargées.

Afin de résoudre ce problème, il faut travailler sur les dimensions dans le callback de $(window).load() :
$(document).ready(function() {

$(window).load(function(){
var obj = $("#an_id");
var height = obj.css("height");
});
}
Pour teminer, il peut arriver que la fonction .css("height") retourne la valeur "auto" sous Internet Explorer. Il suffira de rajouter une ligne pour prévenir ce cas :
$(document).ready(function() {

$(window).load(function(){

var obj = $("#an_id");
var height = obj.css("height");
if(height == "auto") height = obj.height();
});
}

Le saviez-vous ? Refresh saviez_vous Loading

VDM Refresh vdm Loading