jQuery dialogue toujours centré
Comment puis-je mettre en œuvre, une boîte de dialogue modale jQuery avec largeur auto & hauteur est toujours centré dans le navigateur. Aussi, après le redimensionnement de la fenêtre du navigateur.
Le code suivant ne fonctionne pas. Je pense que le problème est la largeur auto & hauteur.
jQuery - code
$("<div class='popupDialog'>Loading...</div>").dialog({
autoOpen: true,
closeOnEscape: true,
height: 'auto',
modal: true,
title: 'About Ricky',
width: 'auto'
}).bind('dialogclose', function() {
jdialog.dialog('destroy');
}).load(url, function() {
$(this).dialog("option", "position", ['center', 'center'] );
});
$(window).resize(function() {
$(".ui-dialog-content").dialog("option", "position", ['center', 'center']);
});
Merci!
Lier la
Comment peut-il la marque de votre commentaire que la bonne réponse, je me demande? 🙂
J'ai mis à jour ma question.
resize
de l'événement sur la window
et mise à jour de votre top/left
positionnement en conséquenceComment peut-il la marque de votre commentaire que la bonne réponse, je me demande? 🙂
J'ai mis à jour ma question.
OriginalL'auteur shub | 2011-09-26
Vous devez vous connecter pour publier un commentaire.
Acutally, je pense que le
position: ["center", "center"]
ne pas être la meilleure solution, car elle affecte un explicittop:
etleft:
propriétés css à la boîte de dialogue basé sur la taille de la fenêtre d'affichage lors de la création.Je suis tombé sur cette même question, quand on cherche à avoir une boîte de dialogue centre de l'écran à la verticale. Voici ma solution:
Dans le
options
partie de mon.dialog()
fonction, je passeposition:[null, 32]
. Lenull
définit laleft:
valeur de l'élément du style, et la32
est juste pour garder la boîte de dialogue rattachée à la partie supérieure de la fenêtre. Aussi assurez-vous de définir explicitement la largeur.J'utilise aussi le
dialogClass
possibilité d'affecter une classe personnalisée, qui est simplement unmargin:0 auto;
propriété css:Et mon dialogue ressemble:
J'espère que cela aide quelqu'un.
OriginalL'auteur CamelBlues
De travail jsFiddle: http://jsfiddle.net/vNB8M/
La boîte de dialogue est centré avec largeur auto & hauteur et continue à être centré fois la fenêtre de redimensionnement.
Ce n'est pas "travailler"? Pouvez-vous décrire le problème plus en détail?
La boîte de dialogue ne sera pas centré si je re-taille de la fenêtre du navigateur. Avec
width & height = auto
la boîte de dialogue est placé dans le coin inférieur droit.Vous avez vu mon jsFiddle? Le code de travail. Votre problème doit se situer ailleurs. Ce CSS est appliqué?
Merci pour le code. Malheureusement, votre code ne fonctionne pas avec
.load(url, function()
. C'est le défi pour moi de porter ce code de travail avec leload
méthode.OriginalL'auteur NakedBrunch
Aucune des réponses n'aient tout à fait ce que je voulais. Pour ceux qui sont encore avoir des problèmes avec cela, voici ce qui a fonctionné pour moi. Ce sera la force de la boîte de dialogue apparaisse toujours dans le centre de l'écran, et il sera le centre de la boîte de dialogue du navigateur est redimensionnée.
OriginalL'auteur Dan
La fenêtre modale autour de la boîte de dialogue devrait vous permettre de placer la boîte de dialogue centré avec le css de:
N'est-ce pas le travail? Avez-vous un "échantillon" de la page que l'on peut regarder?
OriginalL'auteur TeckniX
Cette solution fonctionne:
Performance est assez mauvais, mais vous pouvez attendre pour redimensionner fin: jQuery - comment attendre la " fin " de la 'redimensionner' événement et seulement ensuite effectuer une action?.
J'ai aussi essayé cela, mais je ne peux pas faire défiler plus bas ou plus haut que la position de l'élément qui a ouvert de la boîte de dialogue:
OriginalL'auteur alcohol is evil