Visualizzazione dei risultati da 1 a 10 su 10

Discussione: [JS]Oggetto img

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    150

    [JS]Oggetto img

    Ciao a tutti, mi serve un aiutino.
    Mi spiego subito: carico delle immagini in cache (tramite js)all'esecuzione della pagina web.
    Non riesco all'interno del <body> a inserire un immagine random a causa della proprieta' src...non so cosa inserire.
    Mi spiego meglio vi faccio vedere il codice:

    -----------------------------------------------------------
    <html>
    <head>
    <title>Esercizio</title>

    <script LANGUAGE="JavaScript">
    var timeout_id=null; //per stoppare la slot machine con ClearTimeout()





    function impIni()
    {

    var imp=prompt ("Inserire l'importo iniziale desiderato\n");

    document.write(imp);

    }



    </script>

    </head>

    <body>
    <script>


    var imm=new Array(8);
    for (i=0; i < 8 ; i++)
    {
    imm[i].src="images/" + i + ".jpg"; //creo un array contenente le immagini della slot machine
    }
    </script>


    <form name="frm1">
    <table cellspacing="4" border="2" width="75%">
    <tr>
    <td colspan="2" rowspan ="2" bordercolor="white"><h1><font color="red">Slot Machine</font></h1></td>
    <td bgcolor="#3fb5f3">Importo Rimanente</td>
    <td width="10%" bordercolor="black"><script>impIni();</script></td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    </tr>

    <tr bordercolor="white"><td>



    </td></tr>

    <tr bordercolor="white">
    <td>[img]images/0.jpg[/img]</td>


    </tr>
    </table>
    </form>



    </body>
    </html>


    -----------------------------------------------------

    Il problema sorge qui: <td>[img]images/0.jpg[/img]</td>

    se in src io voglio passare una immagine caricata in cache dallo script (nel formato imm[].jpg), cosa devo mettere?
    Ad esempio voglio fare un random tra le 8 immagini in cache. Se mi dovesse uscire imm[2].jpg, come la visualizzo appunto all'interno di [img]?[/img]

    Spero di essere stato chiaro, e spero nel vostro aiuto


    ciao a tutti

  2. #2
    non c'è bisogno di fare un random tra le 8 immagini, basta farsi restituire un numero random compreso tra 1 e 8, poi con innerHTML cambiare il contenuto del td che contiene l'immagine e visualizzare la nuova immagine...

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    150
    scusa ma son niubbo;D
    cosa sarebbe inner HTML?

    Cmq a me serve che le immagini iniziali siano in cache (come ho fatto nel metodo subito dopo il <body>) con l'array.
    Ora se nel <td> devo visualizzare ad esempio imm[2].jpg come faccio? cosa devo mettere in src?
    NEllo specifico:

    .
    .
    <form name="frm1">

    <td>[img]cosa devo inserire?[/img]</td>


    ...
    ..

    </form>

    non riesco a visualizzarla

  4. #4
    dovresti procedere in questo modo:

    nel <td> che contiene l'immagine modificalo con

    <td id="immagine">

    poi nel js inserisci queste funzioni

    function random_(Min, Max)
    {
    return( Math.floor(Min + (Math.random() * (Max - Min + 1))) );
    }
    function immagine() {
    num=random_(1,8);
    cella=getElementById("immagine");
    cella.innerHTML="<img name="im1" border="1" src=imm[num] width="128" height="128">"
    }


    in pratica cxon innerHTML modifichi dinamicamente il contenuto della cella TD con id immagine, quindi modifichi l'immagine ivi contenuta...
    non l'ho testato...

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    150
    Grazie
    Ora provo e ti faccio sapere.

    Pero' giusto per sapere come si fa, senza innerHTML quale potrebbe essere la soluzione? Non riesco a far uscire sta benedetta immagine.

    Ho fatto il metodo per il caricamente delle immagini nel body: (corretto, perche' prima avevo fatto male l'array, senza la riga imm[i]=new Image()

    <script>


    var imm=new Array(8);
    for (i=0; i < 8 ; i++)
    {
    imm[i]=new Image();
    imm[i].src="images/" + i + ".jpg"; //creo un array contenente le immagini della slot machine
    }
    rand();
    </script>

    rand() e' il seguente metodo, che sta nell'<head>:

    function rand()
    {
    window.alert (Math.floor(Math.random()*8));
    document.frm1.im1.src=imm[Math.floor(Math.random()*8)].src;

    }

    il window.alert l'ho messo solo epr controllare che effettivamente uscisse un numero esatto.
    La riga con document.frm1 etc e' una mia invenzione cioe e' proprio lì il problema:la riga e' giusta? e in ogni caso come faccio poi a fare comparire l'immagine nel <td>?
    Senza innerHTML pero', perche' mi serve saperlo.


  6. #6
    prova inserendo un id al tag img tipo

    <img id="immagine">

    e una funzione javascript che viene richiamata nel body

    <body onLoad="caricaimmagine">


    function caricaimmagine() {
    valore=document.getElementById("immagine");
    valore.setAttribute("src","percorso immagine");
    }

    ...

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    150
    Quindi non ce un modo per caricarla nel td tramite [img]x?[/img] src come volevo fare io ?

  8. #8
    scusa ma se il valore dell'src cambia sempre, non penso sia possibile farlo in quel modo...

    non ho capito dove sta il problema nell'utilizzare una piccola funzione js....

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    150
    sto provando a farlo come dici te, ma ho delle domande:


    nel <td> che contiene l'immagine modificalo con

    <td id="immagine">

    poi nel js inserisci queste funzioni

    function random_(Min, Max)
    {
    return( Math.floor(Min + (Math.random() * (Max - Min + 1))) );
    }
    function immagine() {
    num=random_(1,8);
    cella=getElementById("immagine");
    cella.innerHTML="<img name="im1" border="1" src=imm[num] width="128" height="128">"
    }
    ma nella td dove deve comparire l'immagine cosa scrivo? Metto proprio solo:
    <td id="immagine"></td> ? Niente tag <img>?
    E anche quando scrivi "cella". e' un comando di js? o devo dare un nome alla cella in qualche modo?

  10. #10
    Originariamente inviato da pippuzzo80
    prova inserendo un id al tag img tipo

    <td>[img][/img]</td>

    e una funzione javascript che viene richiamata nel body

    <body onLoad="caricaimmagine()">


    function caricaimmagine() {
    valore=document.getElementById("immagine");
    valore.setAttribute("src","percorso immagine");
    }

    ...
    fai riferimento al post quotato, su <img> puoi anche inserire un src=, esso comunque verrà modificato ogni volta che la pagina verrà caricata...

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