Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: Modificare stile div

  1. #1

    Modificare stile div

    Salve, tempo addietro avevo creato un codice funzionate perchè provato.
    Tale codice permetteva di modificare lo stile di 2 div in base alla risoluzione dello schermo.

    Il codice da me creato, funzionante è questo:

    codice:
    <script language="javascript">
    
    function ridimensiona() {
          document.getElementById('Intestazione3').style.width = "850px";
          document.getElementById('BannerVideo').style.marginLeft = "350px";
          document.getElementById('BannerVideo').style.marginTop = "1px";     
    }
     var larghezza = window.screen.width;
     if  (larghezza<1024) {
    ridimensiona();
    }
    </script>

    In pratica il codice modifica le dimensioni dei 2 div se la larghezza schermo è inferiore a 1024.

    Il codice quando lo provai funzionava, poi l'ho messo da parte, oggi lo vado a riprendere e non funziona più.

    Ho fatto un pò di prove, la rilevazione della larghezza funziona, quello che non funziona più è propio l'istruzione
    document.getElementById

    A forza di prove sono arrivato a scrivere questa riga di codice

    codice:
    <script type="text/javascript">
    
      document.getElementById("Intestazione3").style.display="none";
    
    </script>

    Che in pratica dovrebbe nascondere il div Intestazione3, ma nulla non funziona proprio.

    Cosa cavolo è successo?
    Perchè non mi funziona più nemmeno quella semplice riga di codice?

    Stò impazzendo, qualcuno è in grado di aiutarmi...

    Grazie.
    Ultima modifica di GianlucaB; 15-07-2015 a 18:32

  2. #2
    Ciao,
    a prima vista sembrerebbe che esegui lo script prima di aver caricato il body con i div... ma non ho abbastanza elementi per verificare.

    Saluti

  3. #3
    Grazie per la risposta.

    Ecco dove era l'inghippo, effettivamente caricavo il codice prima di creare i vari div.

    Però io vorrei fare proprio quello, ovvero stabilire lo stile, e poi caricare il div, perchè ovviamente il div deve apparire subito come io ho stabilito, e non venir modificato dopo.

    Talvolta causa banner pubblicitari, la pagina impiega anche un paio di secondi a completare il caricamento, e questo causa il problema dei div caricati con stili diversi da come dovrebbero comparire, per poi venir sistemati dopo.

    C'è una soluzione a questo?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da GianlucaB Visualizza il messaggio
    Grazie per la risposta.

    Ecco dove era l'inghippo, effettivamente caricavo il codice prima di creare i vari div.

    Però io vorrei fare proprio quello, ovvero stabilire lo stile, e poi caricare il div, perchè ovviamente il div deve apparire subito come io ho stabilito, e non venir modificato dopo.

    Talvolta causa banner pubblicitari, la pagina impiega anche un paio di secondi a completare il caricamento, e questo causa il problema dei div caricati con stili diversi da come dovrebbero comparire, per poi venir sistemati dopo.

    C'è una soluzione a questo?
    Sposta il blocco di script
    codice:
    < script language="javascript">
    
     function ridimensiona() {
           document.getElementById('Intestazione3').style.width = "850px";
           document.getElementById('BannerVideo').style.marginLeft = "350px";
           document.getElementById('BannerVideo').style.marginTop = "1px";     
     }
      var larghezza = window.screen.width;
      if  (larghezza<1024) {
     ridimensiona();
     }
    < /script>
    subito prima della chiusura del body
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Si è quello che ho fatto, adesso il codice funziona, ma subentra il problema di cui sopra.
    Ovvero prima vengono caricati i div di dimensioni e stile come da foglio di stile, e dopo vengono modificati, ma il dopo delle volte avviene anche dopo 2-3 secondi, con il risultato che compare subito una pagina sconquassata per sistemarsi dopo tot secondi.

    Per quello pensavo di poter attribuire lo stile ai div prima di crearli e quindi farli apparire.

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    205
    E se invece di mettere il codice prima della chiusura del BODY lo inserissi subito dopo l'apertura di quest'ultimo?

    La macchina dovrebbe prima leggere lo script e quindi assegnare le dimensioni corrette una volta che trova il div
    Sito Modellismo (Non ancora completo)

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da GianlucaB Visualizza il messaggio
    Si è quello che ho fatto, adesso il codice funziona, ma subentra il problema di cui sopra.
    Ovvero prima vengono caricati i div di dimensioni e stile come da foglio di stile, e dopo vengono modificati, ma il dopo delle volte avviene anche dopo 2-3 secondi, con il risultato che compare subito una pagina sconquassata per sistemarsi dopo tot secondi.

    Per quello pensavo di poter attribuire lo stile ai div prima di crearli e quindi farli apparire.
    Se non l'hai già provato racchiudi lo script nel evento onload di window, se anche cosi non funziona (o peggiora come immagino) dovrai eseguire un preload di pagina.
    Quote Originariamente inviata da WottaFacca Visualizza il messaggio
    E se invece di mettere il codice prima della chiusura del BODY lo inserissi subito dopo l'apertura di quest'ultimo?

    La macchina dovrebbe prima leggere lo script e quindi assegnare le dimensioni corrette una volta che trova il div
    Se lo mette subito dopo l'apertura del body quando viene eseguito lo script (senza evento onload) cerca degli oggetti del documento che non esisto è va in errore
    Ultima modifica di cavicchiandrea; 16-07-2015 a 10:57
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    E se usa il document.ready di Jquery ?

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da cassano Visualizza il messaggio
    E se usa il document.ready di Jquery ?
    non cambia nulla ready è l'equivalente di onload, se vuoi provare con jquery testerei load
    1
    2
    3
    $( window ).load(function() {

    // Run code

    });

    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    con load di jquery è anche peggio perche prima che venga eseguito lo script deve essere caricata anche tutte la parte grafica (oltre al DOM). L'unica cosa che si può fare, se si vuole usare javascript, è quella di piazzare lo script subito dopo il div. Meglio ancora è non utilizzare javascript ma css e le media query.

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.