Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443

    passare window.innerHeight a elemento html

    Sorry,

    è possibile passare l'altezza disponibile della finestra - 300 px ad un elemento?

    il seguente codice non funziona......

    <script type="text/javascript">
    document.getElementById("layer").style.height = (window.innerHeight - 300);
    </script>

    <div id="layer" style="position:absolute; left:0px; top:0px; width: 100%; overflow: auto; z-index:1;"></div>

    Grazie

  2. #2
    prova con:

    codice:
    document.getElementById("layer").style.height = (window.innerHeight - 300)+"px";
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    grazie...

    il debugger segnala che manca un oggetto.....

  4. #4
    A me funziona, prova a postare il codice html della pagina, o almeno la parte significativa.

    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    grz.


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script type="text/javascript">

    document.getElementById("layer").style.height = (window.innerHeight - 300)+"px";
    </script>
    </head>

    <body>

    <div id="layer" style="position:absolute; left:0px; top:0px; width: 100%; overflow: auto; z-index:1; background-color: #FFCCCC; layer-background-color: #FFCCCC; border: 1px none #000000;">
    BLA, BLA,</div>

    </body>
    </html>

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    ora funziona ....


    document.getElementById('layer').style.height = (altezza - 300) + "px";

    .... va prima di </body> VVoVe:

    <html><head>
    <title>test</title>
    <script type="text/javascript">
    <!--

    function larghezza_finestra()
    {
    if (window.innerWidth) return window.innerWidth;
    else if (document.body && document.body.offsetWidth) return document.body.offsetWidth;
    else return 0;
    }

    function altezza_finestra()
    {
    if (window.innerHeight) return window.innerHeight;
    else if (document.body && document.body.offsetHeight) return document.body.offsetHeight;
    else return 0;
    }


    function aggiornamento_dimensioni()
    {
    if (larghezza != larghezza_finestra() || altezza != altezza_finestra())
    window.history.go(0);
    }

    /*MS Internet Explorern*/
    if(!window.larghezza && window.innerWidth)
    {
    window.onresize = aggiornamento_dimensioni;
    larghezza = larghezza_finestra();
    altezza = altezza_finestra();
    }

    //-->
    </script>
    </head>
    <body>
    <script type="text/javascript">
    <!--
    /*MS Internet Explorern*/
    if(!window.larghezza && document.body && document.body.offsetWidth)
    {
    window.onresize = aggiornamento_dimensioni;
    larghezza = larghezza_finestra();
    altezza = altezza_finestra();
    }
    //-->
    </script>
    <div id="layer" style="position:absolute;top:100px;left:100px;bord er:solid 1px #000000;">
    testo
    </div>


    <script type="text/javascript">
    <!--
    document.write("Larghezza: "+larghezza +" - Altezza "+altezza);
    //-->
    </script>
    <script type="text/javascript">
    document.getElementById('layer').style.height = (altezza - 300) + "px";
    </script>

    </body>
    </html>

  7. #7
    Non puoi eseguirlo in quel modo...l'oggetto deve essere caricato prima di eseguire lo script...quindi:

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <
    html xmlns="http://www.w3.org/1999/xhtml">
    <
    head>
    <
    title>Untitled Document</title>
    <
    meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

    </
    head>

    <
    body>

    <
    div id="layer" style="position:absolute; left:0px; top:0px; width: 100%; overflow: auto; z-index:1; background-color: #FFCCCC; layer-background-color: #FFCCCC; border: 1px none #000000;">
    BLABLA,</div>

    <
    script type="text/javascript">
    document.getElementById("layer").style.height = (window.innerHeight 300)+"px";
    </script>

    </body>
    </html> 
    prova un po'

    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    grz.


    il tuo ultimo esempio funziona con FX ma non con MSIE (ho la versione 6).

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 © 2025 vBulletin Solutions, Inc. All rights reserved.