Un saluto a tutti,
premetto che sono alle prime armi con Javascript.
Ho un menu di 7 pulsanti disegnati (immagini gif per intenderci, con delle scritte inserite a mano con Gimp) e uno script che, richiamato con un evento onclick, "dovrebbe" sostituire un singolo pulsante di colore blu con il corrispettivo pulsante di colore bianco, lasciando inalterati i restanti 6 (i quali fanno la stessa operazione, se ci si clicca sopra).
Lo script funziona solo in parte, dato che se clicco su uno di questi pulsanti per cambiarlo si modificano anche gli altri .Se clicco sul pulsante blu dei "contatti", per esempio, diventa bianco ma all'interno del div TUTTI i restanti pulsanti blu ("chi siamo", "la sede", ecc...) vengono sostituiti con il pulsante appena cliccato. Ho tentato di modificarlo, ma senza risultato.
Il codice è il seguente:
function change(imgNameChg,imgSrcChg,imgSrc1){
clear(imgSrc1);
movepic(imgNameChg,imgSrcChg);
}
function clear(imgSrcClr){
document.button1.src=imgSrcClr;
document.button2.src=imgSrcClr;
document.button3.src=imgSrcClr;
document.button4.src=imgSrcClr;
document.button5.src=imgSrcClr;
document.button6.src=imgSrcClr;
document.button7.src=imgSrcClr;
}
function movepic(img_name,img_src) {
document[img_name].src=img_src;
}
La funzione change viene richiamata dall'onclick dell'immagine:
<img src="http://forum.mrwebmaster.it/images/contatti.gif" name="button1" "border="0"
onclick="change('button7','images/contatti-changed.gif','images/contatti.gif')">
// la procedura è uguale per tutte le immagini
Per risolvere, ho modificato così la funzione change:
function change(imgNameChg,imgSrcChg,imgSrc1){
ButArr = new Array(7);
for (i=1; i<=ButArr.length; i++){
var tot = document.getElementsByName("button"+ButArr);
tot = imgSrcChg;
clear(tot);
movepic(imgNameChg,imgSrcChg);
}
}
ma così facendo mi cambia tutte le immagini blu con quelle bianche. Come potrei fare per modificare solo l'immagine del bottone cliccato?
Grazie in anticipo a chiunque mi risponderà!
premetto che sono alle prime armi con Javascript.
Ho un menu di 7 pulsanti disegnati (immagini gif per intenderci, con delle scritte inserite a mano con Gimp) e uno script che, richiamato con un evento onclick, "dovrebbe" sostituire un singolo pulsante di colore blu con il corrispettivo pulsante di colore bianco, lasciando inalterati i restanti 6 (i quali fanno la stessa operazione, se ci si clicca sopra).
Lo script funziona solo in parte, dato che se clicco su uno di questi pulsanti per cambiarlo si modificano anche gli altri .Se clicco sul pulsante blu dei "contatti", per esempio, diventa bianco ma all'interno del div TUTTI i restanti pulsanti blu ("chi siamo", "la sede", ecc...) vengono sostituiti con il pulsante appena cliccato. Ho tentato di modificarlo, ma senza risultato.
Il codice è il seguente:
function change(imgNameChg,imgSrcChg,imgSrc1){
clear(imgSrc1);
movepic(imgNameChg,imgSrcChg);
}
function clear(imgSrcClr){
document.button1.src=imgSrcClr;
document.button2.src=imgSrcClr;
document.button3.src=imgSrcClr;
document.button4.src=imgSrcClr;
document.button5.src=imgSrcClr;
document.button6.src=imgSrcClr;
document.button7.src=imgSrcClr;
}
function movepic(img_name,img_src) {
document[img_name].src=img_src;
}
La funzione change viene richiamata dall'onclick dell'immagine:
<img src="http://forum.mrwebmaster.it/images/contatti.gif" name="button1" "border="0"
onclick="change('button7','images/contatti-changed.gif','images/contatti.gif')">
// la procedura è uguale per tutte le immagini
Per risolvere, ho modificato così la funzione change:
function change(imgNameChg,imgSrcChg,imgSrc1){
ButArr = new Array(7);
for (i=1; i<=ButArr.length; i++){
var tot = document.getElementsByName("button"+ButArr);
tot = imgSrcChg;
clear(tot);
movepic(imgNameChg,imgSrcChg);
}
}
ma così facendo mi cambia tutte le immagini blu con quelle bianche. Come potrei fare per modificare solo l'immagine del bottone cliccato?
Grazie in anticipo a chiunque mi risponderà!
