2013-05-03 2 views
31

Sto provando a visualizzare una finestra modale dell'interfaccia utente Kendo nel centro del browser, ma continua a essere visualizzata nella parte inferiore della pagina, con questo intendo che l'unica parte visibile della finestra è la barra in alto, il resto della finestra non è visibile, solo quando lo trascini in giro puoi vederlo correttamente. Non ho applicato stili al div che viene usato per la finestra, quindi sono confuso sul motivo per cui viene mostrato in questo modo.Come forzare una finestra modale dell'interfaccia utente Kendo al centro di una pagina? e come disabilitare tutte le azioni?

Inoltre, voglio disattivare tutto il pulsante di azione nella barra in alto della finestra, ho provato a impostare un array di azioni vuoto ma un pulsante di chiusura viene mostrato come predefinito, c'è un modo per mostrare solo il titolo del finestra sulla barra in alto? Voglio che la finestra scompaia quando si fa clic su un pulsante.

Questo è come mi sto creando la finestra:

var accessWindow = $("#accessDiv").kendoWindow({ 
    actions: [], 
    draggable: true, 
    height: "300px", 
    modal: true, 
    resizable: false, 
    title: "Access", 
    width: "500px" 
}); 

accessWindow.center(); 
accessWindow.open(); 

Questo è il mio div con solo un marchio, un ingresso e un pulsante, senza CSS viene applicata ad essa in questo momento:

<div id="accessDiv" style=" width: 100%; height: 100%; background-color: #fff;"> 
    <label>Enter access key</label> 
    <input type="text" /> 
    <input type="button" title="Enter" value="Enter" /> 
</div> 

risposta

60

Hai provato nasconderlo, quindi centratura e la sua apertura?

var accessWindow = $("#accessDiv").kendoWindow({ 
actions: {}, /*from Vlad's answer*/ 
draggable: true, 
height: "300px", 
modal: true, 
resizable: false, 
title: "Access", 
width: "500px", 
visible: false /*don't show it yet*/ 
}).data("kendoWindow").center().open(); 

da: http://www.kendoui.com/forums/ui/window/kendowindow-center-doesn-t-work-when-inside-an-iframe.aspx

+2

non intendi .data ('kendoWindow'). Center(). Open()? Ma sì, questo ha risolto il problema, se voglio modificare un po 'la sua posizione, come dovrei farlo? –

+2

Se conosci la posizione XY potresti usare 'accessWindow.wrapper.css ({top:" 100px ", a sinistra:" 50px "})'.Ricorda che puoi ottenere la posizione facendo 'accessWindow.wrapper.position()'. Esempio [qui] (http://jsfiddle.net/OnaBai/ueYs4/) – OnaBai

+0

Ancora lo trovo a volte bizzarro se lo chiudo e lo apro di nuovo. –

6

1.È necessario scambiare le ultime due righe di codice. Prima di tutto devi aprire la finestra e poi puoi centrarla.

vetrina 2.To senza azioni è necessario passare oggetto vuoto:

actions: {} 
+0

l'oggetto vuoto ha funzionato per non visualizzare alcuna azione, ma la finestra continua a essere visualizzata in basso, penso che ho bisogno di specificare più su questo aspetto, quando dico fondo, voglio dire che puoi vedere solo la barra in alto , la finestra non viene mostrata sul browser, solo fino a quando non la trascini in giro puoi vederla. –

+0

Aprire la finestra, quindi fare '.center()' ha funzionato per me. Molte grazie per questa informazione. +1 – vapcguy

+1

@VladOmelyanchuuk, quando apro(). Center(), posso vedere la mia finestra di dialogo scorrere sullo schermo per centrare se stessa. Come posso evitare questo? –

7

Le ultime due righe dovrebbero leggere:

accessWindow.data("kendoWindow").center(); 
accessWindow.data("kendoWindow").open(); 
+4

O anche accessWindow.data ("kendoWindow"). Center(). Open(); –

+0

Non ha funzionato in questo ordine per me. La risposta di Vlad sopra, dove disse di aprire la finestra, poi centrare, lavorò per centrare la mia finestra. – vapcguy

+0

@vapcguy, come hai fatto a evitare di scivolare attraverso la finestra quando si apre per primo, poi centra? –

-1

è possibile fare riferimento seguente codice per il posizionamento vostra finestra.

var accessWindow = $("#accessDiv").kendoWindow({ 
        elem: 
        draggable: true, 
        modal: true, 
        title: "Title", 
        width:500, 
        visible: false, 
        position:{ 
         top:"15%", 
         left:"35%" 
        }, 
     }).data("kendoWindow").open(); 

Se volete posizione fisso a prescindere di dimensioni dello schermo, quindi utilizzare

position:{ 
    top:"20px", 
    left:"100px" 
} 

Ma se si vuole regolare la posizione della finestra relativamente, sopra ea sinistra in '%' funzionerà per te

0

Quello sotto funziona per me. Se non ti piace come una modale, impostala su false o rimuovila.