web-dev-qa-db-fra.com

Positionnement de la boîte de dialogue jQuery UI: ajustez la position du haut de 20 pixels -

J'ai un dialogue qui est rempli par un appel ajax. Je veux limiter le max-height of dialog et lui permettre également d'être scrollable if this max-height est dépassé. Le code ci-dessous fait exactement ce que je veux.

Le hic, c'est que je ne peux pas déplacer le haut de la boîte de dialogue de position haute. Je peux le déplacer de gauche à droite. Je ne peux pas non plus utiliser centre car la boîte de dialogue est affichée dans une grande fenêtre déroulante. Si j'utilise firebug, je peux ajuster la propriété top mais je ne trouve pas où elle est mise à zéro.

$("#your-dialog-id").dialog({
    open: function(event, ui) {
        $(this).css({'max-height': 500, 'overflow-y': 'auto'});
    },
    autoOpen:false,
    modal: true,
    resizable: false,
    draggable: false,
    width: '690',
    closeOnEscape: true,
    position: 'top'
});

Je veux ajuster la position y de la boîte de dialogue pour qu'elle soit à 20 pixels du haut de la fenêtre. Une idée de ce que je peux faire?

28
chris loughnane

La modification de la dernière valeur a résolu le problème:

position: ['center',20] 

http://jsfiddle.net/chrisloughnane/wApSQ/

61
chris loughnane

Le moyen le plus simple est:

$("#dialog").dialog({ position: { my: "center", at: "top" } });
10
Yogesh Avhad

en utilisant Jquery UI 1.11.4

        var Y = window.pageYOffset;

        $( "#dialogJQ" ).dialog({
            modal: true,
            closeOnEscape: false,                
            width:'auto',
            dialogClass: 'surveyDialog',
            open: function(event, ui) {
                $(this).parent().css({'top': Y+20});
            },
        });
3
Himalaya Garg