Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di fabi080
    Registrato dal
    Mar 2002
    Messaggi
    442

    Dimensionare popup in base al contenuto

    Ho un div con contenuto dinamico che viene creato lato server con php.
    Dal momento che viene aperto in un popup vorrei che il popup fosse ridimensionato in base alla grandezza del div, finora ho scritto (tramite php) queste poche righe javascript nel documento di output
    codice:
    div = document.getElementById('results');
    self.resizeTo(w, h);
    solo che non so qual è la proprietà del div da usare per risalire ad altezza e larghezza.

    Inoltre mi sembra di aver letto da qualche parte che i parametri del metodo self.resizeTo sono dimensioni che comprendono anche i bordi del browser, giusto?

    Se è così, mettere (larghezza div + 10) (altezza div + 30) come parametri di tale funzione è una scelta accettabile?

    C'è un modo per ridimensionare il viewport e non la finestra, in modo da non avere tali problemi?

    Scusate per le tante domande, ma sono abbastanza inesperto con javascript.

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649

    Re: Dimensionare popup in base al contenuto

    Originariamente inviato da fabi080
    non so qual è la proprietà del div da usare per risalire ad altezza e larghezza.
    fuori dagli standard, ma tacitamente accettato dai browser moderni, puoi usare document.getElementById('id_div').offsetWidth e Height
    Inoltre mi sembra di aver letto da qualche parte che i parametri del metodo self.resizeTo sono dimensioni che comprendono anche i bordi del browser, giusto?
    corretto
    Se è così, mettere (larghezza div + 10) (altezza div + 30) come parametri di tale funzione è una scelta accettabile?
    accettabile, non perfetto se hai bisogno di precisione millimetrica ma, appunto, accettabile
    C'è un modo per ridimensionare il viewport e non la finestra, in modo da non avere tali problemi?
    no no

    puoi sperimentare quanto ho scritto qui x rilevare quanti px aggiungere x un resize preciso

    ciao

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova questo:
    codice:
    <script language="JavaScript"> 
    
    <!-- 
    
    function Resize() { 
    var iw = document.getElementById('results').width; 
    var ih = document.getElementById('results').height; 
    var l = Math.floor((screen.width-iw)/2); 
    var t = Math.floor((screen.height-ih)/2); 
    window.resizeTo(iw,ih); 
    window.moveTo(l,t); 
    var pw = document.body.clientWidth; 
    var ph = document.body.clientHeight; 
    var dw = iw - pw; 
    var dh = ih - ph; 
    var nww = iw + dw; 
    var nwh = ih + dh; 
    var l = Math.floor((screen.width-nww)/2); 
    var t = Math.floor((screen.height-nwh)/2); 
    window.resizeTo(nww,nwh); 
    window.moveTo(l,t); 
    } 
    
    //--> 
    
    </script>
    e lo richiami cosi:
    codice:
    <body topmargin="0" leftmargin="0" onload="Resize();">
    Io lo utilizzo per rilevare le dimensioni delle immagini non so se funziona con un div l'unica e provare.

    PS il tutto va inserito nella popup
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it L'avatar di fabi080
    Registrato dal
    Mar 2002
    Messaggi
    442
    Non funziona , forse però è colpa mia, non ho specificato una cosa, il div in oggetto non ha width e height impostati è semplicemente
    <div id="result">
    ...
    ...
    </div>
    Le sue dimensioni vengono determinati dal contenuto, è forse questo il problema??

  5. #5
    Utente di HTML.it L'avatar di fabi080
    Registrato dal
    Mar 2002
    Messaggi
    442
    Ho provato a mettere nel file
    codice:
    <script language="JavaScript">
    alert(document.getElementById('results').width);
    alert(document.getElementById('results').height);
    </script>
    e mi tira fuori due belle finstrelle con scritto undefined

  6. #6
    Utente di HTML.it L'avatar di fabi080
    Registrato dal
    Mar 2002
    Messaggi
    442
    Ho ricontrollato, il messaggio precedente era corretto, quindi mi dice che le proprietà width e height sono undefined...

    Sto andando al manicomio

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649

    Re: Re: Dimensionare popup in base al contenuto

    Originariamente inviato da Xinod
    fuori dagli standard, ma tacitamente accettato dai browser moderni, puoi usare document.getElementById('id_div').offsetWidth e Height

  8. #8
    Utente di HTML.it L'avatar di fabi080
    Registrato dal
    Mar 2002
    Messaggi
    442
    Funziona!!!
    Grazie mille, avendo letto il messaggio successivo avevo interpretato male quello prima, grazie di nuovo ad entrambi.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.