Probleme de script

Fermé
ThomDSGN Messages postés 22 Date d'inscription mardi 14 avril 2015 Statut Membre Dernière intervention 18 mai 2017 - 29 oct. 2015 à 13:38
 Utilisateur anonyme - 29 oct. 2015 à 15:09
Bonjours je débute en javascript et j'aimerais savoir ou son mes erreurs ..


<script type="text/javascript">

var map = document.getElementsByClassName("map-img")
var button = document.getElementsByClassName("button-map")


function Afficher(button,map){

button.addEventListener('click', function() {
if(map.style.display == 'none')
{
map.style.display='block';
}
else
{
map.style.display = 'none';
}

}, false);
}

function Cacher(button,map){

button.addEventListener('click', function() {
if(map.style.display == 'block')
{
map.style.display='none';
}
else
{
map.style.display = 'block';
}

}, false);
}

</script>



Si quelqu'un sais m'aider
A voir également:

1 réponse

Utilisateur anonyme
29 oct. 2015 à 15:09
Bonjour

Es-tu conscient que tes deux fonctions, qui font basculer map.style.display entre 'block' et 'none', sont en fait exactement les mêmes ? Sauf éventuellement lors du premier appel, si map.style.display ne vaut aucune de ces deux valeurs. Je doute que tu l'aies fait exprès. Les noms 'Afficher' et 'Cacher' que tu leur as données sont trompeurs : les deux affichent ET cachent alternativement.

Es-tu conscient que les variables map et button que tu définis au début de ton script n'ont a priori AUCUN rapport avec les paramètres formels button et map que tu utilises dans la définition de ta fonction ?

Pire, tu ne pourras jamais faire correspondre ces variables avec les paramètres formels: ces variables sont des tableaux (getElementSByClassName rend un tableau) alors que tes fonctions semblent écrites pour des éléments simples. Il faudrait une boucle pour "balayer" tous les éléments rendus par getElementByClassName.

Enfin, autre erreur, tu nous parles de tes erreurs sans nous dire ce qui ne va pas, c'est à dire la différence entre ce que tu attendais et ce qui se passe effectivement. Tu ne donnes aucune description, on ne sait même pas quand tes fonctions sont appelées.
0