|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 22 ![]() |
Bonjour,
J'ai déjà parcouru pas mal de thread, mais une interrogation subsiste pour moi dans mon code. Je ne suis pas un habitué du js Voici mon objectif (très simple): J'ai un bouton select, en fonction du choix j'affiche un div ou un autre sans valider quoi que ce soit -> je sélectionne, ça s'affiche. Voici mon code: Javascript: Code :
Code :
Est-ce que j'utilise mal le script js ou mon code est totalement erroné? Merci de votre attention. hNj |
||||
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() F5(){F5} Inscription : avril 2008 Messages : 256 ![]() |
salut,
quasi good : Code :
document.getElementById("infoMons").style.display="block"; |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 22 ![]() |
Parfait, un grand merci
|
|
|
00
|
|
|
#4 | ||||
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 22 ![]() |
Bonjour,
J'ai une question vis-à-vis du même style de script. J'ai modifié mon script pour qu'il puisse afficher ou cacher des div via des liens. J'aimerai maintenant que ce script permette de cacher le div afficher lorsque je clique sur un autre lien. Donc qu'on ne puisse avoir qu'un seul div affiché à la fois. Voici mon script js: Code :
Code :
Merci! |
||||
|
|
00
|
|
|
#5 |
|
Membre éclairé
![]() F5(){F5} Inscription : avril 2008 Messages : 256 ![]() |
non,
il suffit que tu caches tous les div (sauf celui que tu veux afficher éventuellement), et après tu affiches celui que tu veux afficher. |
|
|
00
|
|
|
#6 | |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 22 ![]() |
Citation:
Y a-t-il quelque chose à modifier? |
|
|
|
00
|
|
|
#7 | |||
|
Membre éclairé
![]() F5(){F5} Inscription : avril 2008 Messages : 256 ![]() |
ben non ils sont pas tous hidden tu le dis toi même :
Citation:
Actuellement quand tu affiches un div, tu en caches un autre. Ben là tu les caches tous sauf si c'est celui que tu désires afficher. Et après tu l'affiches. Code :
|
|||
|
|
00
|
|
|
#8 | ||||
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 22 ![]() |
Merci!
J'ai abouti à ceci comme script js: Code :
Code :
|
||||
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 22 ![]() |
Je continue dans ma recherche d'amélioration de mon script.
Je suis entrain d'essayer d'insérer (devant le texte du lien permettant d'afficher ou masquer un div) une image [+] lorsque le div est masqué, et [-] lorsqu'il est affiché. J'ai trouvé des solutions avec des buttons, mais moi je désire simplement rajouter une image et je suppose qu'en changeant le lien de la source (src=""), ca peut fonctionner. J'ai voulu implémenter cela et donc insérer une modification par id, mais voilà... J'ai tenté de nommer chacune de mes images avec un id (donc 4, vu que j'ai 4 liens qui permettent d'afficher 4 div), j'ai rajouté dans mon switch une variable idimg="" la valeur de l'id de mon image en fonction du lien. Ensuite je me suis dit "je vais faire changer la valeur de la source dans mes conditions", mais la j'ai totalement bloqué... Si vous avez des liens ou des indications/explications de solutions, je suis preneur! |
|
|
00
|
|
|
#10 |
|
Membre éclairé
![]() F5(){F5} Inscription : avril 2008 Messages : 256 ![]() |
quel est ton html et ton js?
ps : j'opterais plutot pour un tableau de div plutot que pour un switch. Egalement plutot utiliser l'evenement onclick sur tes liens, et dans le href stocker #idDuDiv. De fait tu enquilles onclick=switchDiv(this.id); et tu n'auras plus qu'à récupérer l'id du div souhaité : id.substring(1); |
|
|
10
|
|
|
#11 | ||
|
Membre Expert
![]() Eric GaridacciInscription : septembre 2005 Messages : 1 057 ![]() |
Salut,
+1 galerien69. Ca ressemblerait à un truc du genre... Code html :
__________________
N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ... |
||
|
|
00
|
|
|
#12 | ||||
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 22 ![]() |
Merci messieurs mais la, j'suis perdu
Je comprends une majeure partie du code je comprends, mais ne voit pas en quoi c'est "mieux" que mon switch? :s Je vous mets la page avec tout ce qu'il faut pour voir ce que j'ai Code :
Code :
En ajoutant une référence dans mon switch, je pourrais changer la valeur de la source des images, non? Merci à vous! |
||||
|
|
00
|
|
|
#13 | ||||||
|
Membre éclairé
![]() F5(){F5} Inscription : avril 2008 Messages : 256 ![]() |
pour reprendre mon poste d'avant, le href du lien a du sens de pointer vers le div parce que c'est le contenu désiré.
L'image est plus un élément annexe (enfin l'un ou l'autre). Donc c'est pas naturel de mettre un "truc" dans a qui va référencer l'image qu'on souhaite afficher. Tu peux nommer tes images en correspondance avec des div. Côté javascript, tu fais simplement quelquechose comme : Code :
Du coup dans ton switch, lorsque tu affiches lelement, tu changes également la source : document.getElementById(myImageId).src = imgs[id];//avec id qui vaut par exemple horaireMons. Code :
Problème de syntaxe : si tu oublies un break par exemple, tu executes toutes les alternatives suivantes... C'est également un probleme de factorisation du code. Dans ton cas ca va (a peu près) parce que tu mets la logique derriere (document.getElementBy(idDefiniDansLeSwitch)). Néanmoins, tu en fais un alors qu'il sert à rien : Code :
|
||||||
|
|
00
|
|
|
#14 | |||||||||
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 22 ![]() |
Bonjour,
Merci de vos réponses complètes, même si elles ne sont pas toujours clair pour moi. Je vais essayer de finir ce script avec mon switch, je regarderai pour le passer en tableau quand celui-ci fonctionnera! J'ai un peu avancé, il me reste juste à pouvoir revenir à mon image initial. Je réexplique vite fait le truc car je sais pas si j'ai été clair: Lien initial: Citation:
Citation:
Citation:
Voici mon script Code :
Code :
1. Pourquoi l'image ne change-t-elle pas lorsque la source vaut "images/moins.png" ? 2. Pourquoi je ne peux ouvrir et fermer "indéfiniment" un lien sans devoir interagir avec autre chose? P.S: La question 2 ne se pose pas lorsque je retire le code permettant de changer l'image, à savoir: Code :
|
|||||||||
|
|
00
|
|
|
#15 |
|
Membre éclairé
![]() F5(){F5} Inscription : avril 2008 Messages : 256 ![]() |
une première raison est que si tu as clique deux fois sur le même lien, alors tu es dans le cas n=0, donc id vaut img/plus.png, ce qui est pas un id valide.
document.getElementById(idImg) lance alors une exception, et c'est mort. J'espère que tu te rends compte tout de même que le switch fait perdre des cheveux. Mis à part, tu peux utiliser console.log(idimg) sous firefox, si tu installes lextension firebug. C'est extremement utile! |
|
|
00
|
|
|
#16 | |||
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
Citation:
regardes avec cet exemple |
|||
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 22 ![]() |
Je pense que ma comparaison est correcte, du moins elle change correctement, et lorsque je fait le test avec une alert avant ma condition, il affiche bien "images/plus.png"
Et après, "images/moins.png". @Galerien: Je comprends la prise de tête un peu inutile du switch, surtout avec mon case 0. Je suppose que c'est dans celui-ci que je dois travailler pour résoudre le problème. Il faudrait que je puisse récupérer dans mon case 0 la valeur d'id du lien sur lequel je clique pour que le test puisse être vérifié à la fin de la fonction? |
|
|
00
|
|
|
#18 | |
|
Membre éclairé
![]() F5(){F5} Inscription : avril 2008 Messages : 256 ![]() |
Citation:
Tu as idimg qui est INVALIDE. Donc idimg est invalide quand n=0, c'est à dire quand tu as cliqué sur le même lien. Donc ici on s'arrête et on réfléchit : pourquoi tu as plusieurs idImage. Si tu as plusieurs images, c'est pour en cacher certains et afficher une. Si tu en as qu'une, c'est pour changer sa source. La tu as plusieurs idImage dans ton switch, mais tu n'as qu'une seule image .Donc soit tu te dis je mets 4 images et j'affiche celle que je veux en conséquence et je masque les autres, soit tu changes la source de l'image, mais tu gardes un id fixe, quelquesoit le lien sur lequel tu as cliqué. |
|
|
|
00
|
|
|
#19 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 22 ![]() |
J'avais au début pensé mettre un idImage unique, mais après je me suis demandé comment il allait identifier l'image à changer? Pour c'est en faisant un "onclick=changeImg(this)" mais je ne mets pas d'onclick sur l'image car celle-ci doit pouvoir changer que j'appuye sur le lien ou sur l'image elle-même.
Tu vois ce que je veux dire? |
|
|
00
|
|
|
#20 |
|
Membre éclairé
![]() F5(){F5} Inscription : avril 2008 Messages : 256 ![]() |
ben ui. Toujours est-il que tu as une seule image avec 4 ID différents...
chui d'accord que c'est bien d'apprendre par l'erreur, mais bon, pour ma part ca m'intéresse plus du tout. On continue à faire du caca sachant pertinemment (enfin je pense que tu vois quand même que ca parait inutilement compliqué) qu'on fait un truc bancal et sale. Donc bon, pour ma part, je passe la main aux autres. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com