Visualizzazione dei risultati da 1 a 5 su 5

Discussione: eventi condizionali

  1. #1

    eventi condizionali

    Salve a tutti è la prima volta che posto e spero di non fare domande stupide
    Mi affaccio da poco a Javascript e fino ad adesso sono + o - riuscito a fare tutto ciò che volevo costruire. Sorge un problema però in una applicazione un pochetto complessa.
    L'applicazione dovrebbe permettere di riempire una tabella con immagini a mia scelta che poi passo al php per salvarle come lista:
    posizione1->immagine in quella posizione.
    posizione2->immagine in quella posizione.
    ecc..

    il funzionamento è questo:
    1) L'utente sceglie da una lista di immagini ( all'interno di un menù a comparsa ) l'immagine che vuole utilizzare come pattern.
    al click attiva un evento che si salva quale immagine ha scelto.

    2)L'utente adesso si sposta sopra la tabella e quando clicca in una casella in essa compare l'immagine che aveva scelto nel menù.
    al click attiva uno script che prende l'immagine trasparente che la tabella ha in quella posizione e ne sostituisce il percorso con quello nuovo per sostituire l'immagine di prima a quella scelta dall'utente.

    il tutto funziona alla meraviglia , compreso il passaggio di tutti i valori poi ad uno script php che salvi la lista e permetta di ricaricarla all'occorrenza.

    il problema sorge cercando di modificare l'evento che attiva il cambio dell'immagine nella tabella

    originale: ( metacodice) al click-> esegui la funzione cambia immagine

    modificato: ( metacodice) se il tasto z è premuto & mouseover -> esegui la funzione cambia immagine

    Non ho idea se sia possibile concatenare eventi in modo che uno sia condizionale all'altro
    se fosse possibile dovrei far intercettare la pressione del tasto z e se questa condizione è avverata allora permettere l'esecuzione dello script al mouseover

    -------------
    accetto anche soluzioni traverse che non contemplino l'utilizzo di un doppio evento, o che usino il php o altri metodi

    ^^ grazie in anticipo

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Qualcosa di simile la puoi avere solo per la pressine dei tasti Ctrl o Shift o Alt ...

    Per quello che vuoi fare tu poi agire in due modi:

    - onmouseover/onmouseout registri/cancelli una variabile pubblica con l'immagine sottostante e poi all'evento onkeydown verifichi che sia il tasto giusto e di essere sull'immagine testando la variabile;

    - onkeydown/onkeyup testi il tasto premuto e memorizzi un flag in una variabile pubblica, poi onmouseover/onmouseout scambi l'immagine...

    E' forse piu' difficile a dirsi che a farsi... prova ad immagine cio' che (o cosa ) ho scritto, casomai ci si risente
    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
    Vediamo se ho compreso ^^
    ( perché ammetto di non aver capito perfettamente )

    il punto fondamentale è che non posso utilizzare solo onmouseover oppure appena l'utente si sposta sulla tabella comincia già a riempirla di immagini Quindi:

    1) ad ogni passaggio del mouse su una cella uno script con onmouseover registra magari l'id di quella cella (la distruggo poi con onmouseout solo per fare in modo che successivamente lo script funzioni soltanto se l'utente è davvero sulla tabella )

    2) .
    onkeydown/onkeyup testi il tasto premuto e memorizzi un flag in una variabile pubblica, poi onmouseover/onmouseout scambi l'immagine...
    qui mi perdo un poco ... cioè ok registro la pressione del tasto, ma come faccio POI

    nmouseover/onmouseout a scambiare l'immagine ?? ( in realtà non mi è chiaro il passaggio POI )

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Io lo farei semplicemente scambiando l'immagine nella cella onmouseover

    onmouseover su cella :
    - se ho selezionato un'immagine:
    - - memorizzo l'immagine attualmente presente
    - - visualizzo l'immagine da inserire

    onclick su cella:
    - se ho selezionato un'immagine:
    - - azzero la variabile con l'immagine vecchia

    onmouseout dalla cella:
    - se ho ancora un'immagine vecchia memorizzata la ripristino nella cella, altrimenti vuol dire che ci ho messo la nuova o non ne avevo selezionata una

    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

  5. #5
    Grazie br1
    ^^
    alla fine ho utilizzato il metodo della flag sulla pressione del tasto:

    1 se viene premuto il tasto un numero dispari di volte setto una flag =1

    poi evento onmouseover sulla cella che se la flag è =1 allora sostituisce l'immagine

    adesso funziona sia cliccando , sia premendo ctrl e passando sopra a più caselle

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.