J'ai écrit un petit plugin lightbox pour jQuery (oui, il y a plusieurs paquets prêts à l'emploi - malheureusement, le concepteur de ma société ne les aime pas).Calcul dynamique de la hauteur de la div - JQuery/AJAX
J'ai un petit problème - J'utilise .load() pour charger le contenu flash dynamique dans la division lightbox. J'ajoute le div au DOM, préréglant la visibilité à hidden, et en utilisant .outerHeight (true) et .outerWidth (true) pour obtenir les dimensions. Dans Internet Explorer, j'obtiens une hauteur de 61px (marge + 1px).
Assomption: contentContainer est déjà ajouté au corps dom frag
var remote = $(document.createElement("div"));
remote.css("margin", "30px");
var loadURL = $(this).attr('href');
if(typeof(isImage) == "undefined" || !isImage){
console.log("Loading " + loadURL);
contentContainer.append(remote);
remote.load(loadURL, function(){
contentContainer.css("left", (currWindow.width/2) - (contentContainer.outerWidth(true)/2))
.css("top", document.body.scrollTop + (currWindow.height/2) - (contentContainer.outerHeight(true)/2));
overlay.css("visibility", "visible");
contentContainer.css("visibility", "visible");
});
}
Un div de base avec une hauteur définie explicitement et la largeur est ce qui est en cours de chargement dans la télécommande.
Des suggestions? Je pense que c'est quelque chose de stupide quand j'essaie de calculer la hauteur et la largeur. Il a travaillé avec une image de base mais ...
Josh
quelle version de IE? –
IE8 en fait. Aussi après que j'ai posté, il vaut la peine de mentionner que j'essaie de centrer la div sur l'écran absolument. Fonctionne en FF nativement et fonctionne en IE si j'appelle une alerte d'abord, attendez une demi-seconde, puis cliquez sur OK (probablement le contenu de la requête ajax est entièrement chargé, et IE peut calculer la hauteur). Je ne suis pas sûr où/quand je devrais demander la hauteur si ce n'est pas dans le rappel de fin de chargement. – Josh