Domanda

In una finestra di dialogo, ridimensiono alcune immagini e quindi forzo la finestra a sizeToContent. Quindi, voglio che la finestra di dialogo si centri sullo schermo. Come posso fare questo?

È stato utile?

Soluzione

Il risultato finale sarebbe una finestra che si muove da sola? Per favore, non renderlo troppo fastidioso :)

Ad ogni modo, dovrai farlo manualmente usando window.moveTo e varie screen proprietà (vedi https://developer.mozilla.org/en/DOM/window )

Ecco un esempio interessante, anche se non centra la finestra, assicura che sia visibile: http://www.koders.com/javascript/fid3F51BCA827D80 s = finestra # L3

Altri suggerimenti

Ho anche cercato in giro e ho cercato MDC per qualsiasi cosa che potesse centrarlo ma non ho trovato nulla, quindi ho creato questo! Funzionerà sia sulla finestra che sul dialogo.

var w=(screen.availWidth/2)-(document.getElementById('windowID').width/2);

var h=(screen.availHeight/2)-(document.getElementById('windowID').height/2);

window.moveTo(w,h);

L'unica cosa che devi modificare è windowID al valore ID della tua finestra. Funzionerà su tutte le risoluzioni dello schermo in quanto prende la larghezza e l'altezza totali dello schermo, quindi lo divide a metà dando così il centro dello schermo, quindi sottrae le impostazioni di larghezza e altezza per tenerne conto, ma le divide anche a metà per compensare la finestra come senza l'offset non sarà centrata.

Spero che questo abbia aiutato!

Un elemento <dialog> definisce i metodi di convenienza moveToAlertPosition () e centerWindowOnScreen () e li copia anche nell'ambito globale in modo da non doverli definire con document.documentElement.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top