2012-02-16 18 views
23

Estoy utilizando JQuery UI y me gustaría colocar mi cuadro de diálogo centrado horizontalmente pero verticalmente por encima del centro, tal vez por una cantidad fija de píxeles o una distancia relativa desde la parte superior de la página. ¿Hay una forma fácil de hacer esto? Parece que hay solo un par de valores predefinidos o puedo usar una posición exacta pero ¿hay alguna manera fácil de lograr esto?jqueryui diálogo posicionamiento

$("#dialog-form").dialog({ 
       autoOpen: false, 
       width: 630, 
       position: 'center', 
       modal: true, 
       resizable: false, 
       closeOnEscape: false 

      }); 
+0

¿Has probado '['center', 'top']'? –

+0

Eso hace que el cuadro de diálogo aparezca en el centro horizontalmente pero en la parte superior de la página (suponiendo que no lo haya hecho incorrectamente).Quiero colocar un poco más el cuadro de diálogo sobre el centro. –

Respuesta

73

Utilice position option para alinear la parte superior del cuadro de diálogo con la parte superior de la ventana (más un desplazamiento de píxel o porcentaje).

Esto debería centrar el cuadro de diálogo horizontalmente y colocarlo a 150 píxeles desde la parte superior.

$("#dialog-form").dialog({ 
    autoOpen: false, 
    width: 630, 
    position: { my: 'top', at: 'top+150' }, 
    modal: true, 
    resizable: false, 
    closeOnEscape: false 
}); 

Las versiones anteriores de jQuery UI utilizan una matriz que contiene un [x, y] par de coordenadas en píxeles de desplazamiento desde la esquina izquierda, parte superior de la ventana gráfica (por ejemplo [350100]).

var dialogWidth = 630; 
$("#dialog-form").dialog({ 
    // ... 
    width: dialogWidth, 
    position: [($(window).width()/2) - (dialogWidth/2), 150], 
    // ... 
}); 
+1

Cabe señalar que el método de matriz ha quedado obsoleto desde entonces. Use un objeto en su lugar. – JasCav

+0

actualizado para usar el objeto de posición (para versiones más recientes de jQuery UI) –

+0

Tenga en cuenta que tiene control de x, y de ambos objetos. ** posición: {mi: "centro superior", en: "centro superior", de: ventana}, ** – Lodlaiden

-5

aplicar css en su # de diálogo en forma de uso de la muestra%

si width = 1,000

poner

izquierda: 50% margen izquierda: -500px;

para hacerlo centrado. o puedes usar iframe

1

me encontré con este durante la búsqueda de la misma pregunta bu yo ya tenía mi respuesta:

position: ['center', 'top+100'] 

esto va a centrar en horizontal y 100 píxeles desde la parte superior

esto funciona también

position: ['center', 'center+100'] 

centro horizontalmente y 100 píxeles desde abajo centro

0

ajusté la respuesta de Exlord para caber.

posición: [ 'de centro-7%', 'centro-12%']

Ajusta horizontal y verticalmente

$(".popup").dialog({  
position: ['center-7%', 'center-12%'], 
title: 'Updating', 
    width: "auto", 
} 
}); 
2

Esto funcionó para mí

position: { my: "center", at: "center", of: window }, 

También puede verificar las posiciones del diálogo aquí
Find Position

0

Prueba esto:

position: { 
     my: 'top', 
     at: 'top', 
     of: $('#some-div') 
    }, 
0
position: { 
    my: 'top', 
    at: 'top+150' 
} 

trabajado para mí.

Cuestiones relacionadas