Bouton alternant 2 fonctions sur le même événement onClick
Bonjour à tous,
J'ai un problème de grande débutante.
Je cherche à créer un seul bouton / image :
- qui change selon qu'il est cliqué (afficher - masquer - afficher -masquer etc) ;
- et qui permet d'afficher / masquer une ligne de tableau.
J'ai les deux fonctions, elles marchent impec'. Je les ai déjà grapillées sur ce site-même !!
Code du changement d'image du bouton
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| var tab_image = new Array(2);
for (var i=0; i< tab_image.length;i++)
tab_image[i]= new Image();
tab_image[0].src='img/ensavoirplus.gif';
tab_image[1].src='img/ensavoirmoins.gif';
var n=0;
function change() {
n= ++n;
if (n == tab_image.length) n=0;
window.document.image.src=tab_image[n].src;
} |
Le code de l'afficher / masquer de la ligne de tableau:
Code:
1 2 3 4 5 6 7 8 9 10
| function aff ( )
{
tr = document.getElementById('tr2');
tr.style.display = "";
}
function cach ( )
{
tr = document.getElementById('tr2');
tr.style.display = "none";
} |
Il y a dans le body un tableau et deux images qui ont les propriétés de cach() et aff().
Avez vous une idée pour qu'un seul bouton, changeant lui-même, permette d'afficher ou masquer une ligne de tableau ?
Je vous en remercie tous vivement !
Claire qui galère depuis hier ;-)
Fonction bascule : ligne masquée au début
Bonjour !
Merci infiniment d'avoir répondu si vite et votre solution correspond tout à fait ... à ce que je n'aurais pas pensé ! ;-)
Je l'ai testée mais elle ne masquait pas de ligne.
Je l'ai transformée ainsi :
Code:
1 2 3 4 5 6 7
| function bascule()
{
var tr = document.getElementById('tr2');
if (tr.style.display =="block") tr.style.display = "none";
else tr.style.display = "block";
} |
et elle donne un résultat, mais sans doute faux. Au rafraichissement de la page, les deux lignes (tr1 et tr2) sont visibles, or j'aimerais que tr2 soit masquée au début. Je pense m'être tompée dans la fonction, mais où ?
Auriez-vous la gentillesse de regarder mon erreur ?
Merci vivement,
Claire
Bouton 2 fonctions : génial !
Bonjour !
Merci beaucoup pour cette simplification, c'est vrai, c'est plus simple ainsi puisqu'il n'y a que deux images.
Un grand merci !
Claire