JS petit soucis d'adaptation de fonction
Résolu
marcelo44
Messages postés
325
Date d'inscription
Statut
Membre
Dernière intervention
-
marcelo44 Messages postés 325 Date d'inscription Statut Membre Dernière intervention -
marcelo44 Messages postés 325 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Alors voilà j'ai une fonction qui me permet de modifier une image d'un bouton que je veux simplifier mais il y a un hic :
var tab_bouton = Array('bouton_gommer','bouton_continuer','bouton_arreter');
var tab_chemin = Array('/0002.jpg','/0008.jpg','/0010.jpg');
var tab_chemin2 = Array('/0001.jpg','/0007.jpg','/0009.jpg');
function change_image(nom,href_image)
{
document.images[nom].src=href_image;
}
function theme(num)
{
for(var j=0; j<3; j++) //NE MARCHE PAS -> Erreur : document.images[nom] is undefined
{
document.getElementById("img"+j).onmousedown= function(){change_image(tab_bouton[j],'./theme/'+num+tab_chemin[j])};
document.getElementById("img"+j).onmouseout= function() {change_image(tab_bouton[j],'./theme/'+num+tab_chemin2[j])};
}
// MARCHE BIEN C'EST SA QUE JE VEUX REMPLACER PAR LE FOR AU DESSUS
document.getElementById("img0").onmousedown= function(){change_image('bouton_gommer','./theme/'+num+'/0002.jpg')};
document.getElementById("img0").onmouseout= function(){change_image('bouton_gommer','./theme/'+num+'/0001.jpg')};
document.getElementById("img1").onmousedown= function(){change_image('bouton_continuer','./theme/'+num+'/0008.jpg')};
document.getElementById("img1").onmouseout= function(){change_image('bouton_continuer','./theme/'+num+'/0007.jpg')};
document.getElementById("img2").onmousedown= function(){change_image('bouton_arreter','./theme/'+num+'/0010.jpg')};
document.getElementById("img2").onmouseout= function() {change_image('bouton_arreter','./theme/'+num+'/0009.jpg')};
Une idée? Merci.
Alors voilà j'ai une fonction qui me permet de modifier une image d'un bouton que je veux simplifier mais il y a un hic :
var tab_bouton = Array('bouton_gommer','bouton_continuer','bouton_arreter');
var tab_chemin = Array('/0002.jpg','/0008.jpg','/0010.jpg');
var tab_chemin2 = Array('/0001.jpg','/0007.jpg','/0009.jpg');
function change_image(nom,href_image)
{
document.images[nom].src=href_image;
}
function theme(num)
{
for(var j=0; j<3; j++) //NE MARCHE PAS -> Erreur : document.images[nom] is undefined
{
document.getElementById("img"+j).onmousedown= function(){change_image(tab_bouton[j],'./theme/'+num+tab_chemin[j])};
document.getElementById("img"+j).onmouseout= function() {change_image(tab_bouton[j],'./theme/'+num+tab_chemin2[j])};
}
// MARCHE BIEN C'EST SA QUE JE VEUX REMPLACER PAR LE FOR AU DESSUS
document.getElementById("img0").onmousedown= function(){change_image('bouton_gommer','./theme/'+num+'/0002.jpg')};
document.getElementById("img0").onmouseout= function(){change_image('bouton_gommer','./theme/'+num+'/0001.jpg')};
document.getElementById("img1").onmousedown= function(){change_image('bouton_continuer','./theme/'+num+'/0008.jpg')};
document.getElementById("img1").onmouseout= function(){change_image('bouton_continuer','./theme/'+num+'/0007.jpg')};
document.getElementById("img2").onmousedown= function(){change_image('bouton_arreter','./theme/'+num+'/0010.jpg')};
document.getElementById("img2").onmouseout= function() {change_image('bouton_arreter','./theme/'+num+'/0009.jpg')};
Une idée? Merci.
A voir également:
- JS petit soucis d'adaptation de fonction
- Fonction si et - Guide
- Trier du plus petit au plus grand excel - Guide
- Round js ✓ - Forum Javascript
- Petit 3 ✓ - Forum Word
- Petit 2 ✓ - Forum Windows
12 réponses
je pense que sa vient du fait que je remplace la chaine de caractère par un tableau ? si quelqu'un à une solution merci
voilà mon html des boutons :
<td align=center>
<a href=javascript:document.formulaires.reset() id='img0'
onmousedown="change_image('bouton_gommer','./theme/1/0002.jpg');"
onmouseout="change_image('bouton_gommer','./theme/1/0001.jpg');">
<img id='image0' name='bouton_gommer' type="image" src="./theme/1/0001.jpg" border="0">
</a>
<a href=javascript:verifier() id='img1'
onmousedown="change_image('bouton_continuer','./theme/1/0008.jpg');"
onmouseout="change_image('bouton_continuer','./theme/1/0007.jpg');">
<img id='image1' name='bouton_continuer' type="image" src="./theme/1/0007.jpg" border="0" >
</a>
<a href=javascript:arreter() id='img2'
onmousedown="change_image('bouton_arreter','./theme/1/0010.jpg');"
onmouseout="change_image('bouton_arreter','./theme/1/0009.jpg');">
<img id='image2' name='bouton_arreter' type="image" src="./theme/1/0009.jpg" border="0">
</a>
</td>
j'utilise la fonction pour changer de thème plus précisément, aucun problème avec la fonction détaillée, mais pas celle réduite grâce au for
en plus voilà comment je change mon body et mes balise <img> (sa fonctionne)
var a = "";
a += document.getElementById("body").background;
var chemin2 = "";
chemin2 = a.substring(30,40) ;
document.getElementById("body").background='./theme/'+num+chemin2;
for(var i=0; i<3; i++)
{
var c = "";
var chemin = "";
c = document.getElementById("image"+i).src ;
//alert(c);
chemin = c.substring(30,40) ;
//alert(chemin);
document.getElementById('image'+i).src='./theme/'+num+chemin;
}
<td align=center>
<a href=javascript:document.formulaires.reset() id='img0'
onmousedown="change_image('bouton_gommer','./theme/1/0002.jpg');"
onmouseout="change_image('bouton_gommer','./theme/1/0001.jpg');">
<img id='image0' name='bouton_gommer' type="image" src="./theme/1/0001.jpg" border="0">
</a>
<a href=javascript:verifier() id='img1'
onmousedown="change_image('bouton_continuer','./theme/1/0008.jpg');"
onmouseout="change_image('bouton_continuer','./theme/1/0007.jpg');">
<img id='image1' name='bouton_continuer' type="image" src="./theme/1/0007.jpg" border="0" >
</a>
<a href=javascript:arreter() id='img2'
onmousedown="change_image('bouton_arreter','./theme/1/0010.jpg');"
onmouseout="change_image('bouton_arreter','./theme/1/0009.jpg');">
<img id='image2' name='bouton_arreter' type="image" src="./theme/1/0009.jpg" border="0">
</a>
</td>
j'utilise la fonction pour changer de thème plus précisément, aucun problème avec la fonction détaillée, mais pas celle réduite grâce au for
en plus voilà comment je change mon body et mes balise <img> (sa fonctionne)
var a = "";
a += document.getElementById("body").background;
var chemin2 = "";
chemin2 = a.substring(30,40) ;
document.getElementById("body").background='./theme/'+num+chemin2;
for(var i=0; i<3; i++)
{
var c = "";
var chemin = "";
c = document.getElementById("image"+i).src ;
//alert(c);
chemin = c.substring(30,40) ;
//alert(chemin);
document.getElementById('image'+i).src='./theme/'+num+chemin;
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question<a href="javascript:void(0);" > <span id="img_arreter"></span> </a>
le css :
#img_arreter{background-image:url("../theme/1/0009.jpg");} #img_arreter:hover{background-image:url("../theme/1/0010.jpg");}
.
Mon problème est qu'il y a un formulaire et à coter plusieurs thèmes au choix, si l'utilisateur remplis les champs puis choisis son thème il faut les garder remplis donc je me suis tourné vers le JS.
Par le css je ne vois pas comment lui envoyer le thème et à vrai dire je m'y suis pas encore mis au css ^^ ce qu'il faudrait que je fasse...
Même si il y a une solution plus simple j'aimerais savoir si quelqu'un à une idée du pourquoi sa ne marche pas?
Par le css je ne vois pas comment lui envoyer le thème et à vrai dire je m'y suis pas encore mis au css ^^ ce qu'il faudrait que je fasse...
Même si il y a une solution plus simple j'aimerais savoir si quelqu'un à une idée du pourquoi sa ne marche pas?
c'est enregistrer dans une base de données ce choix de thème ?
qu'est ce que tu veux faire exactement ?
qu'est ce que tu veux faire exactement ?
Alors attention les explications commence ce que j'aurais du faire dès le début :
c'est une page d'inscription l'utilisateur rentre son nom et mot de passe puis confirmation du mot de passe date... sur le coter de la page il y a un bouton thème lors d'un clic 5 images de thème apparaisse sans enlever les champs remplis ensuite l'utilisateur choisi son thème et les image change instantanément (background du body, bouton,...) et pour finir lors de l'envoi du formulaire je passe par un fichier qui vérifie que le nom d'utilisateur n'est pas utilisé dans la base de donnée, que la confirmation du mot de passe est bonne,... et enregistre toute les informations dans cette base de donnée dont le thème pour quand il se connecte voilà
EDIT : Donc ici mon seul problème est de simplifier ma fonction grâce à un for et des tableaux qui contiennent les différents chemin et noms des images
c'est une page d'inscription l'utilisateur rentre son nom et mot de passe puis confirmation du mot de passe date... sur le coter de la page il y a un bouton thème lors d'un clic 5 images de thème apparaisse sans enlever les champs remplis ensuite l'utilisateur choisi son thème et les image change instantanément (background du body, bouton,...) et pour finir lors de l'envoi du formulaire je passe par un fichier qui vérifie que le nom d'utilisateur n'est pas utilisé dans la base de donnée, que la confirmation du mot de passe est bonne,... et enregistre toute les informations dans cette base de donnée dont le thème pour quand il se connecte voilà
EDIT : Donc ici mon seul problème est de simplifier ma fonction grâce à un for et des tableaux qui contiennent les différents chemin et noms des images
alors déjà, je serais toi, j'inscrirais la personne, et lorsqu'il se connecte (pour la premiere fois) , tu lui propose de changer le theme, ensuite, je créerais un fichier css par theme que tu appelles en debut de page en fonction de son choix
c'est le merdier ce que tu fais, tu ecrit tout en dur, le jour ou tu voudras rajouter un thème, tu t'en mordras les doigts,
alors qu'avec du css, tu feras un copier/coller, tu changes tes url et le nom du fichier est c'est réglé ...
c'est le merdier ce que tu fais, tu ecrit tout en dur, le jour ou tu voudras rajouter un thème, tu t'en mordras les doigts,
alors qu'avec du css, tu feras un copier/coller, tu changes tes url et le nom du fichier est c'est réglé ...