Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    recupero proprietà css

    Mi serve un aiuto....
    Si possono recuperare le proprietà di alcuni div trammite js anche se non descritte dal css?



    codice:
    nel css:
    -----------
    #container{
    	width:760px;
    	margin-left:auto;
    	margin-right:auto;
    	margin-top:0;
    	margin-bottom:0;
    	padding:0;
    }
    -----------
    
    lo script:
    -----------
    var h2 = document.getElementById('container').style.height;
    -----------
    Non mi trova nulla, la variabile la stampo in un alert che appare vuoto.
    Anche se faccio una prova alternativa settando per assurdo l'height ad un valore nel css:

    codice:
    #container{
    width:760px;
    margin-left:auto;
    margin-right:auto;
    margin-top:0;
    margin-bottom:0;
    padding:0;
    height:990px;
    }

    Non riesco ad ottenere nulla!!!!
    Come posso fare???
    Mi serve ottenere l'altezza del id=container....
    Aiutoooooooooo.....

  2. #2
    up
    ...
    giO!

  3. #3
    Credo che con Object.style.height puoi solo modificare l'altezza e non accedere alla attuale altezza del div.

    http://www.w3schools.com/htmldom/dom_obj_style.asp

    Credo che si possa fare con le classi Prototype ma sono incapace quindi non ti posso aiutare(ammesso che si possa fare con Prototype ).

    Appunto, Google >>>>
    http://wiki.script.aculo.us/scriptac...ment.getHeight

    HF

  4. #4
    si può accedere, esempio se prima la setto con:

    document.getElementById('container').style.height= "100"

    e poi la chiedo con :

    var h2 = document.getElementById('container').style.height;

    mi restituisce 100.
    e il div diviene grande 100

    classi Prototype non so cosa siano.... ma immagino, cmq nn penso di scomodarle per cambiare una semplice proprietà di altezza.

    Come al solito Problema Banale Soluzione Inesistente
    ...
    giO!

  5. #5
    Scusami, quando ho provato non accedevo alla proprietà, mi sa che mi mancava il getElementById come al solito

    Il tuo problema è accedere alla proprietà quando non la imposti da CSS?

  6. #6
    Si in pratica il problema è che la dimensione del div cambia in base al contenuto e nel css non è definita.
    Il mio scopo è recuperarla in ogni pagina per poi calcolare lo spazio rimanente....
    Avevo già postato in css il problema, ti do il link che c'è anche uno schemino: LINK
    ...
    giO!

  7. #7
    Originariamente inviato da Sballerio
    Credo che si possa fare con le classi Prototype ma sono incapace quindi non ti posso aiutare(ammesso che si possa fare con Prototype ).

    Appunto, Google >>>>
    http://wiki.script.aculo.us/scriptac...ment.getHeight

    HF
    Questo funziona!!!
    Ho scaricato e provato e va, ora, ALTRO PROBLEMA.... trovare altezza della parte di finestra del browser: in pratica l'altezza reale non quella con barre scrollbarre etc ... penso si chiami viewport ?

    Ho già provato con recuperare altezza del body: ci riesco grazie al link di Sballerino, ed a:
    codice:
    var h0 = Element.getStyle('corpo', 'height' );
    SBAGLIATA ma mi da l'altezza di cio che è contenuto nel body e anche se lo sfondo si estende sino a fine pagina il body finisce con l'ultimo elemento in esso contenuto....
    ...
    giO!

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    guarda che non serve una libreria (comunque di svariati kb) per rilevare lo spazio fisicamente occupato da un elemento
    ricerca con chiave offsetWidth o offsetHeight, se n' e' ampiamente parlato

    idem per l' altro problema, cerca con chiave "dimensioni viewport" o simili
    tipo questa discussione
    http://forum.html.it/forum/showthrea...sioni+viewport
    dovrebbe esserti di grande aiuto al proposito

  9. #9
    Bella storia, grazie per il consiglio...
    Ovviamente grazie a voi ci sono riuscito, e sembra funzionare:
    Posto il codice per i posteri:

    PROBLEMA:
    Resize di un div in funzione di un altro div il quale si adatta al contenuto.
    i tre div sono top bottom e container
    codice:
    <script language="javascript">
    function resize()
    {
    	var h0;
    	
        if(window.innerHeight){
        	h0 = window.innerHeight;
    	}
    	else{ 
    		if(document.documentElement.clientHeight){
    			h0 = document.documentElement.clientHeight;
    			}
    			else{h0 = screen.height;}
    	 }
    	var h1 = 29+32;//29 è il div top 32 offset ottenuto con prove
    	var h2 = document.getElementById('container').offsetHeight;
    	var h3 = parseInt(h0) - h1 - parseInt(h2);
    	document.getElementById('bottom').style.height = h3 + "px";
    }
    </script>
    poi la richiamo sia su window.onload che sul window.onresize
    ...
    giO!

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.