Come fare l'istruzione If per un'origine di image specifica?

Ho questa linea nel mio programma (Run in Dreamweaver) che è il seguente:

function go() { if((document.test.test1.src == document.test.test2.src && document.test.test2.src == document.test.test3.src )) ...... ...... ..... } 

Questa function viene eseguita quando ho 3 diverse immagini che quando uno dei tre è uguale all'altro nella pagina. Comunque, come faccio a specificare quali immagini siano uguali tra loro, anziché eseguire uno qualsiasi dei tre.

Per ex, se un'image è intitolata 'x' se tutti e tre i test1, test2, il test sono di valore 'x', esegue la function e visualizza questo messaggio, ma visualizza lo stesso messaggio per le altre immagini (Se tutti uguali 'y') Id come avere messaggi separati in qualche modo.

Dividere il confronto a una function separata con l'elemento image corrente come parametro e utilizzare questo metodo con diversi oggetti image:

 function compare(imgElem){ if((document.test.test1.src == document.test.test2.src && document.test.test2.src == document.test.test3.src )) console.log(imgElem.id,"triggered"); // or something else } } compare(document.test.test1); compare(document.test.test2); compare(document.test.test3); 

Tuttavia la soluzione potrebbe non essere precisa a seconda di quanti elementi si sta confrontando. Per un gran numero di elementi, prova a utilizzare una mappa.

All'interno dell'istruzione if , è ansible inserire un block switch / case per verificare quale image sia di 'x', 'y', ecc. Non import quale image src che controlli, poiché hai già verificato che sono tutti uguali.

vale a dire

 if((document.test.test1.src == document.test.test2.src && document.test.test2.src == document.test.test3.src )) switch (document.test.test1.src) { case "x": // Do stuff break; case "y": // Do other stuff break; } 

se ti capisco correttamente, all'interno del tuo codice puoi aggiungere un interruttore, ad esempio

 switch (document.test.test1.src) { case 'y': ........ break; case 'x' ........ break; } 

"…….." indica ciò che si desidera eseguire se l'object è uguale a y o x rispettivamente.

Questo dovrebbe essere abbastanza semplice da implementare

 var a=document.test.test1.src; var b=document.test.test2.src; var c=document.test.test3.src var fn: { x: function() { alert(messageX); }, y: function() { alert(messageY); }, z: function() { alert(messageZ);} }; if(a==b && b==c) { if(fn.hasOwnProperty(a)) { fn[a](); //you can also use 'b' or 'c' since they're all equal } }