Domanda

Ho un dialogo jQuery che carica il suo contenuto attraverso l'Ajax dopo la sua apertura.

JSFiddle (contenuto non è stato caricato attraverso l'Ajax, ma ha aggiunto dopo il aperta, che è abbastanza per dimostrare il mio problema).

html:

<div id="test">test</div>

js:

$("#test").dialog({
    minHeight:100,
    maxHeight:200,
    width:300,
    open: function(){
        $(this).html("test<br /><br />test<br />" +
                     "<br />test<br /><br />test" +
                     "<br /><br />test<br /><br />" +
                     "test<br /><br />test<br />" +
                     "<br />test<br /><br />test");
    }
});

Quando si è aperto non rimane fedele alla sua maxHeight fino a quando si ridimensiona la finestra di dialogo. C'è una sorta di metodo resize posso chiamare dopo ho aggiunto contenuti alla finestra di dialogo?

preferisco non dover calcolare manualmente se è necessario un ridimensionamento e quanto in alto fin dalla sua più o meno già integrato nel ui plugin.

È stato utile?

Soluzione 2

JSFiddle esempio.

Non è esattamente la soluzione elegante che speravo, ma finora sembra funzionare.

Se qualcuno ha una soluzione migliore sarò felice di sentirlo.

Altri suggerimenti

Inserire il codice html in un div reale sul webapge, quindi utilizzare finestra su quel div. O all'altezza cambiamento (e altre opzioni) dopo init ... da jquery docs :

//getter
var width = $( ".selector" ).dialog( "option", "height" );
//setter
$( ".selector" ).dialog( "option", "height", 460 );

Impostazione della maxHeight nella funzione aperta sembra fare il trucco:

$("#test").dialog({
    minHeight:100,
    width:300,
    open: function(){
        $(this).html("test<br /><br />test<br /><br />test<br /><br />test<br /><br />test<br /><br />test<br /><br />test<br /><br />test<br /><br />test");
        $(this).parent().css("height", "auto");
        $(this).css("maxHeight", 200);
    }
});

EDIT: Appare quando il div 'test' è usato come una finestra diventa nidificato all'interno della finestra di div div con un colpo di testa. Di conseguenza sia il div prova e la sua necessità contenente div di avere le loro altezze impostate con il contenente div presa in considerazione l'altezza dell'intestazione div finestra di dialogo. Impostare la sua altezza per auto dovrebbe prendersi cura di questo.

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