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

    "fotografare" stato dell'animazione

    Ho una serie di gif che si muovono trascinandole con il mouse sulla mia pagina web.Ora vorrei,in output,in una finestra alert visualizzare il nome della gif a cui ho cliccato.Posto il mio codice(ho inserito dei commenti dove ho bisogno di visualizzare il nome della gif):

    <html>
    <head>
    <title>
    Sliding Image
    </title>

    <script language="JavaScript">
    var piece = new Array(8);

    var currentx = 3;
    var currenty = 3;
    var currentimg = 0;
    function move(x,y){

    var dx = [-1,0,1];
    var dy = [-1,0,1];

    for(i=0;i<3;i++){
    for(j=0;j<3;j++){
    if( x+dx[i]>0 && x+dx[i]<4 && y+dy[j]>0 && y+dy[j]<4 && !(dx[i]==0 && dy[j]==0) ){


    if( x+dx[i] == currentx && y+dy[j] == currenty && (dx[i]==0 || dy[j]==0)){

    /* Perform the move */

    var element = document.getElementById( "tr"+ x + "td" + y);
    var currElement = document.getElementById( "tr"+ (currentx) + "td" + (currenty));
    var temp = element.innerHTML;
    var temp1 = currElement.innerHTML;
    element.innerHTML = temp1;
    currElement.innerHTML = temp;
    currentx = x;
    currenty = y;

    //Qui vorrei ottenere in ouput il nome della gif a cui faccio riferimento
    //alert(document.images[x*y].src);
    //alert(document.getElementById("uno"));
    }

    }

    }
    }

    }

    </script>

    <table border=2>

    <tr id="tr1">
    <td id="tr1td1" onclick=move(1,1)>
    [img].\icons\1.gif[/img]
    </td>
    <td id="tr1td2" onclick=move(1,2)>
    [img].\icons\2.gif[/img]
    </td>
    <td id="tr1td3" onclick=move(1,3)>
    [img].\icons\3.gif[/img]
    </td>
    </tr>


    <tr id="tr2">
    <td id="tr2td1" onclick=move(2,1)>
    [img].\icons\4.gif[/img]
    </td>
    <td id="tr2td2" onclick=move(2,2)>
    [img].\icons\5.gif[/img]
    </td>
    <td id="tr2td3" onclick=move(2,3)>
    [img].\icons\6.gif[/img]
    </td>
    </tr>


    <tr id="tr3">
    <td id="tr3td1" onclick=move(3,1)>
    [img].\icons\7.gif[/img]
    </td>
    <td id="tr3td2" onclick=move(3,2)>
    [img].\icons\8.gif[/img]
    </td>
    <td id="tr3td3" onclick=move(3,3)>
    </td>
    </tr>


    </table>

    </head>
    </html>

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    alert(currElement.childNodes[0].src);

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Purtoppo non visualizzo i giusti elementi del puzzle ma altri e non riesco a capire con che logica.Quello che voglio ottenere è che l'utente dopo aver finito di comporre il puzzle,con un button posti la sua soluzione.
    La soluzione deve essere data una stringa contenente, nel giusto ordine,i nome delle gif corrispondenti ai pezzi.
    Hai qualche idea di come poterlo sviluppare.
    Ti ringrazio vivamente.

  4. #4

    Aiuto Puzzle

    Ho il seguente codice javascript che fa "muovere" i tasselli di un puzzle.Quello che voglio ottenere è che l'utente cliccando il tasto submit invii la soluzione del puzzle formata da una stringa
    contenente i nomi delle gif dei pezzi del puzzle, ovviamente nell'ordine in cui lo ha risolto,separati
    da un ; Ad esempio l'utente invia la seguente stringa:2.gif;5.gif;3.gif...........e cosi via.
    Questo è il codice che fa muovere il puzzle:
    <html>
    <head>
    <title>
    Sliding Image
    </title>

    <script language="JavaScript">


    var currentx = 3;
    var currenty = 3;

    function move(x,y){




    var dx = [-1,0,1];
    var dy = [-1,0,1];

    for(i=0;i<3;i++){
    for(j=0;j<3;j++){
    if( x+dx[i]>0 && x+dx[i]<4 && y+dy[j]>0 && y+dy[j]<4 && !(dx[i]==0 && dy[j]==0) ){


    if( x+dx[i] == currentx && y+dy[j] == currenty && (dx[i]==0 || dy[j]==0)){

    /* Perform the move */

    var element = document.getElementById( "tr"+ x + "td" + y);
    var currElement = document.getElementById( "tr"+ (currentx) + "td" + (currenty));

    var temp = element.innerHTML;
    var temp1 = currElement.innerHTML;
    element.innerHTML = temp1;
    currElement.innerHTML = temp;
    currentx = x;
    //document.write(x);
    currenty = y;

    }

    }

    }
    }

    }



    </script>

    <table border=2>

    <tr id="tr1">
    <td id="tr1td1" onclick=move(1,1)>
    [img].\icons\1.gif[/img]
    </td>
    <td id="tr1td2" onclick=move(1,2)>
    [img].\icons\2.gif[/img]
    </td>
    <td id="tr1td3" onclick=move(1,3)>
    [img].\icons\3.gif[/img]
    </td>
    </tr>


    <tr id="tr2">
    <td id="tr2td1" onclick=move(2,1)>
    [img].\icons\4.gif[/img]
    </td>
    <td id="tr2td2" onclick=move(2,2)>
    [img].\icons\5.gif[/img]
    </td>
    <td id="tr2td3" onclick=move(2,3)>
    [img].\icons\6.gif[/img]
    </td>
    </tr>


    <tr id="tr3">
    <td id="tr3td1" onclick=move(3,1)>
    [img].\icons\7.gif[/img]
    </td>
    <td id="tr3td2" onclick=move(3,2)>
    [img].\icons\8.gif[/img]
    </td>
    <td id="tr3td3" onclick=move(3,3)>
    </td>
    </tr>


    </table>

    </head>
    </html>
    Qualcuno mi sa dare qualche dritta o suggerimento su quello che voglio ottenere.
    Ringrazio anticipatamente.

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    quindi del tutto identico a quanto richiesto in altra discussione, che adesso andro' ad unire

    un problema = una sola discussione in un unico forum

    con + di una discussione aperta sullo stesso argomento ti/ci confondi solo le idee

  6. #6
    si hai ragione scusa....pensavo di nn essere stato chiaro nella discussione e cosi ne ho aperta un'altra...purtoppo non sono tanto pratico dei forum

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.