J'ai fait le script de ce centre div sur le centre de la fenêtre du navigateur, et mon problème est ici:Mon jQuery prend la largeur et la hauteur de l'élément avant de charger le contenu
Le script prend une largeur et une hauteur de overlay_window avant de charger contenu, donc il centre div comme pour 1px x 1px élément, juste après cela il charge le contenu et je ne sais pas comment éviter cela.
Quelqu'un peut-il m'aider?
Voici le code:
$(document).ready(function(){
$('.cod').click(function() {
var div_name = $(this).attr('id');
$('.overlay_window').load('/templates/' + div_name + '_template.php');
var div_width = $('#'+div_name+'-overlay').width();
var div_height = $('#'+div_name+'-overlay').height();
$('.overlay_window').css("width", ""+div_width+"px")
$('.overlay_window').css("height", ""+div_height+"px")
var div2_width = $('.overlay_window').width();
var div2_height = $('.overlay_window').height();
var window_width = $(window).width();
var window_height = $(window).height();
var widthoffset = (window_width - div2_width)/2;
var heightoffset = (window_height - div2_height)/2;
$('.overlay_window').css("left", "" + (widthoffset-div_width) + "px");
$('.overlay_window').css("top", "" + (heightoffset-div_height) + "px");
$('.overlay_background').fadeIn();
$('.overlay_window').fadeIn();
});
});
et CSS:
div.overlay_window{
background:#ffffff;
width:auto;
height:auto;
position:absolute;
z-index:200;
top:0;
left:0;
}
Désolé pour mon commentaire précédent, ne pas vous voir correction de la largeur à l'intérieur d'une fonction de rappel de clic –
@ Epsil0neR: votre modification suggérée était très mauvaise. S'il vous plaît ne regardez pas seulement le formatage, mais aussi en anglais. Les fautes d'orthographe évidentes telles que «ive», «center», «idk», etc. doivent également être modifiées. – BalusC