Domanda

Voglio posizionare i miei jQuery dialogo x-pixel di distanza dal bordo destro del browser. È questo in ogni caso possibile?

http://jqueryui.com/demos/dialog/

L'opzione posizione non sembrano avere quel tipo di messa a punto, ma c'è qualche altro modo per farlo?

È stato utile?

Soluzione

Se si effettua position:absolute vostra finestra di dialogo, quindi la sua presa su della normale flusso della pagina, ed è possibile utilizzare la proprietà left e top per posizionarlo in qualsiasi punto della pagina.

$('.selector').dialog({ dialogClass: 'myPosition' });

e definire la classe myPosition css come:

.myPosition {
    position: absolute;
    right: 200px; /* use a length or percentage */
}

È possibile impostare i top, left, right, e le proprietà bottom per myPosition utilizzando una lunghezza tale in pixel o in percentuale.

Altri suggerimenti

Ciò mantiene dialogo div in posizione fissa

questo funziona per me in IE FF Chrome e Safari

jQuery("#dialogDiv").dialog({
    autoOpen: false, 
    draggable: true,
    resizable: false,
    height: 'auto',
    width: 500,
    modal: false,
    open: function(event, ui) {
        $(event.target).parent().css('position', 'fixed');
        $(event.target).parent().css('top', '5px');
        $(event.target).parent().css('left', '10px');
    }

});

quando si desidera finestra di dialogo aperta basta chiamare

$('#dialogDiv').dialog('open');

La maggior parte di queste risposte sembrava essere soluzioni a me, e volevo trovare il modo ufficiale di jQuery per farlo. Dopo la lettura attraverso la documentazione .position(), ho scoperto che si può effettivamente essere fatto nel inizializzazione del widget di jQuery:

$("#dialog").dialog({
    title:title,
    position:{my:"right top",at:"right+100 top+100", of:"body"},
    width:width,
    height:height
})

Se il +100 è la distanza dalla destra e dall'alto, rispettivamente

ho capito la risposta è già accettato, ma solo nel caso in cui se qualcuno ha bisogno di più informazioni: http://salman-w.blogspot.co .uk / 2013/05 / jquery-ui-dialogo-examples.html

$(function() {
            $("#dialog").dialog({
                position: {
                    my: "right bottom",
                    at: "right bottom",
                    of: window
                }
            });
        });

con questo codice è possibile specificare la posizione superiore e sinistra:

$('#select_bezeh_window').dialog({
    modal:true,
    resizable:false,
      draggable:false,
      width:40+'%',
      height:500 ,
      position:{
          using: function( pos ) {
                $( this ).css( "top", 10+'px' );
                $( this ).css( "left", 32+'%' );
          }
       }
 });

un'occhiata qui: http://jqueryui.com/demos/dialog/#option- posizione

inizializzare una finestra di dialogo con l'opzione posizione specificata.

 $('.selector').dialog({ position: 'top' });

ottenere o impostare l'opzione di posizione, dopo init.

//getter
var position = $('.selector').dialog('option', 'position');
//setter
$('.selector').dialog('option', 'position', 'top');

Questo ha funzionato per me, per visualizzare la finestra nell'angolo in alto a destra con 10px offset: position: "right-10 top+10":

$( "#my-dialog" ).dialog({
    resizable: false,
    height:"auto",
    width:350,
    autoOpen: false,
    position: "right-10 top+10"
});

Per fissare in posizione centrale, io uso:

open : function() {
    var t = $(this).parent(), w = window;
    t.offset({
        top: (w.height() / 2) - (t.height() / 2),
        left: (w.width() / 2) - (t.width() / 2)
    });
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top