Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    110

    Immagini random sfondo tabella

    Spero di essere nel forum giusto..

    Io ho bisogno di mettere delle immagini come sfondo di una tabella.
    E fin qua è semplice, anche grazie ai css.
    Il problema è che vorrei che ne scegliesse ogni volta uno random.
    Ho anche questo script per il random (che mi va benissimo)

    codice:
    <SCRIPT language=Javascript>
    <!--
    function image() {
    };
    
    image = new image();
    number = 0;
    // imageArray
    image[number++] = "[img]a.jpg[/img]"
    image[number++] = "[img]b.jpg[/img]"
    image[number++] = "[img]c.jpg[/img]"
    
    increment = Math.floor(Math.random() * number);
    //-->
    </SCRIPT>
    <SCRIPT language=JavaScript>
    var prova=document.write(image[increment]);
    </SCRIPT>
    Devo solo riuscire a inserirlo in un css, o nel tag background della tabella.
    Suggerimenti?
    Vi prego aiutatemi che sono in difficoltà

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    document.getElementById('ID_DEL_TABLE').style.back groundImage = '...';
    Questa e` l'istruzione per scrivere.

    Ma la struttura del tuo script va rivista:
    - Non possono esserci oggetti con lo stesso nome
    - image e` parola riservata
    - quelle stringhe nel vettore non ti servono
    - se una varibile e` un vettore nonpuo` essere una immagine
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    110
    ehm...ehm..coff coff..ok! sono di mogano..

    ho capito gli errori, ma non so come correggerli.

    - Cambio image con immagine, o imma cosi non è più riservata
    - in che senso "oggetti con lo stesso nome"? ti riferisci all'image ripetuto?nn ho capito..
    - per le stringhe come modifico? (a parte che li ho messo "a" "b" "c" ma modificherò con un numero progressivo...1,2,3,4...).
    Potrei mettere
    codice:
    imma[number++] = number
    e dopo richiamo il percorso aggiungendo solo questo valore?
    - quella che non può essere un immagine non l'ho capita. Lo script funziona, messo all'interno di una pagina. Le immaggini vengono effettivamente caricate random. Forse non funziona dappertutto?

    Se mi puoi spiagare bene ti ringrazio..tnk

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Hai definito una funzione ed un vettore con il nome "image"

    Tu non devi fare uno swap di imamgini (che peraltro non va fatto come dici tu), ma cambiare un attributo CSS.

    E comunque il document.write in una funzione non si puo` usare: in un browser corretto (quindi non IE) ti cancella immediatamente tutta la pagina (script compreso).

    Attento che il nome di un file deve iniziare con una lettera (non puo` essere un solo numero).


    Quindi nel CSS ad inizio pagina, ci metti un'immagine semplicissima: un gif di un punto bianco o trasparente (magari con il no-repeat).

    Poi a pagina caricata cambi lo sfondo della tabella:
    ne scegli uno e lo carichi nell'url dell'immagine con l'istruzione che ti ho scritto prima.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    110
    Continuo a non capirci nulla.
    Allora: premetto che non so molto di javascript, quindi quando parli di vettori e funzioni capisco di cosa parli (perchè intuisco) ma non capisco le differenza (o al max a spanne).

    Ho cambiato cosi:

    codice:
    <SCRIPT language=Javascript>
    <!--
    function sfondo() {
    };
    
    sfondo = new imma();
    number = 0;
    // imageArray
    sfondo[number++] = "[img]imma01.jpg[/img]"
    sfondo[number++] = "[img]imma02.jpg[/img]"
    sfondo[number++] = "[img]imma03.jpg[/img]"
    
    
    increment = Math.floor(Math.random() * number);
    //-->
    </SCRIPT>
    <SCRIPT language=JavaScript>
    var prova=document.write(sfondo[increment]);
    </SCRIPT>
    <style type="text/css">
    <!--
    .tabella {
    	background-attachment: scroll;
    	background-image: url(imma01.jpg);
    	background-repeat: no-repeat;
    	background-position: center center;
    }
    -->
    </style>
    </head>
    <body onload=document.getElementById('tutta').style.backgroundImage =sfondo[increment]>
    il document.write lo toglierò alla fine, lo lascio solo per capire se lo script funziona, mi fa da cartina tornasole.
    Cosi cmq non funziona.
    Non so come richiamare all'interno dello script che mi hai dato la mia immagine random.
    Potresti postarmi come lo modificheresti tu?
    Ah ho cambiato i nomi delle immagini in imma01,imma02,imma03

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Se ci metti il document.write non puo` funzionare.
    Per il test, mettici un alert.

    Non puoi definire una funzione con lo stesso nome di una variabile (che poi non capisco che ci fai con una funzione vuota).

    codice:
    <script type="text/javascript">
    <!--
    var sfondo = new Array();
    sfondo[sfondo.length] = 'imma01.jpg';
    sfondo[sfondo.length] = 'imma02.jpg';
    sfondo[sfondo.length] = 'imma03.jpg';
    // ...
    
    function cambia_sfondo() {
      increment = Math.floor(Math.random() * sfondo.length);
      document.getElementById('tabella').style.backgroundImage = 'url('+sfondo[increment]+')';
      alert("cambiato sfondo --> "+sfondo[increment]);
    }
    </script>
    
    <style type="text/css">
    <!--
    #tabella {
    	background-attachment: scroll;
    	background-image: url(vuoto.gif);
    	background-repeat: no-repeat;
    	background-position: center center;
    }
    -->
    </style>
    </head>
    
    <body onload="cambia_sfondo();">
    ...
    <table id="tabella">
    ...
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    110
    Perfetto!
    Ora ho capito come funziona.
    Infatti alcune cose non mi tornavano, ma avevo trovato quello script e non sapevo come modificarlo. Non lo avevo inventato io, ma me l'avevano dato cosi.
    Solo una cosa non mi torna: se tolgo l'allert non mi funziona! VVoVe:

    Mica capito perchè eh...tolgo la riga dell'alert e basta, e nn mi carica più nulla nella pagina, tabella compresa, e il document.write non c'è più.
    Salvami quest'ultima volta e poi ti lascio in pace

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    110
    no ok perfetto ci sono riuscito.
    Qualcosa faceva baruffa con il --> che avevi messo nel messaggio dell'alert..ho tolo tutti i commenti cosi è andato apposto..

    TNK 1000 mi hai salvato!!!

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non ci avevo pensato.
    --> e` la chiusura del commento HTML, quindi il parsing dello script si bloccava.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.