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

Discussione: switch immagini?

  1. #1

    switch immagini?

    Salve a tutti/e,

    vorrei fare lo switch tra due immagini onClick. Non sono esperto in javascript.
    Mi sono inventato questo e funziona, ma solo al primo click, poi l'immagine resta la stessa.
    codice:
    if(document.images['face'].src = 'img/arrow-down.gif') { document.images['face'].src = 'img/arrow-up.gif' } else { document.images['face'].src = 'img/arrow-down.gif' };
    Suggerimenti?
    En la habana hay una pila 'e locos!

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    la logica non fa una grinza
    quello che non lo fa funzionare e' il fatto che il browser, interrogato circa un indirizzo che tu scrivi relativo, puo' valutarlo tanto relativo quanto assoluto
    in questo caso il tuo controllo non funzionera' piu', perche' l' indirizzo non e' precisamente quello

    gia' cosi' dovresti risolvere
    if(document.images['face'].src.indexOf('img/arrow-down.gif')>-1){...etc etc...}

    ciao

  3. #3
    Ottimo. Funziona perfettamente! Grazie anche per la spiegazione.

    En la habana hay una pila 'e locos!

  4. #4


    Ahimè mi sono accorto che in iE6, avendo due immagini uguali, mi cambia entrambe.
    Non è servito scrivere lo script così:
    codice:
    if(document.images['face1'].src.indexOf('img/arrow-down.gif')>1) { 
    document.images['face1'].src = 'img/arrow-up.gif' } else { document.images['face1'].src = 'img/arrow-down.gif' };
    if(document.images['face2'].src.indexOf('img/arrow-down.gif')>1) { 
    document.images['face2'].src = 'img/arrow-up.gif' } else { document.images['face2'].src = 'img/arrow-down.gif' };
    Non vorrei cambiare il nome delle immagini. Come posso risolvere??
    En la habana hay una pila 'e locos!

  5. #5
    Dunque il problema sembra sussistere su tutti i browser in quanto nella mia pagina ci sono due immagini con lo stesso nome, per cui le cambie allo stesso tempo. Cosa mi suggerite? Non vorrei cambiare il nome alla stessa immagine.... si può risolvere migliorando lo script?

    :master:
    En la habana hay una pila 'e locos!

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    dai un id all' immagine (id diversi per immagini diverse) e invece di parlare di
    document.images['face']
    parli di
    document.getElementById('face')

  7. #7
    Ho sostituito come da te suggerito:
    codice:
    if(document.getElementById('face1').src.indexOf('img/arrow-down.gif')>1) { 			document.getElementById('face1').src = 'img/arrow-up.gif' } else { document.getElementById('face1')].src = 'img/arrow-down.gif' };
    
    if(document.getElementById('face2').src.indexOf('img/arrow-down.gif')>1) { 			document.getElementById('face2').src = 'img/arrow-up.gif' } else { document.getElementById('face2')].src = 'img/arrow-down.gif' };
    Ma non funziona......
    En la habana hay una pila 'e locos!

  8. #8
    up
    En la habana hay una pila 'e locos!

  9. #9
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da scudobravo
    ...else { document.getElementById('face1')].src
    poi, perche' da >-1 che ti avevo indicato ora e' diventato
    ...indexOf('img/arrow-down.gif')>1
    ??

  10. #10
    No, quello me lo ero immaginato e l'avevo sostituito. Il punto è che ho due immagini uguali e a prescindere dal diverso ID le cambia entrambi! Come posso risolvere?
    En la habana hay una pila 'e locos!

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.