Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 11/03/2010, 19h55   #1
Membre habitué
 
Inscription : août 2007
Messages : 634
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 634
Points : 105
Points : 105
Par défaut Afficher / masquer élément

Bonsoir,

J'ai deux input type="button" visibles

Je voudrais que quand on clique sur le
premier, l'autre se cache et inversement.

J'arrive a en cacher un, mais si je clique
sur l'autre, il ne se cache pas et n'affiche
pas l'autre.
malabarbe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2010, 21h17   #2
Responsable JavaScript & AJAX
 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 437
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 437
Points : 4 886
Points : 4 886
Du code, du code, malabarbe, donnez-nous du code. ♫
vermine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2010, 21h31   #3
Membre habitué
 
Inscription : août 2007
Messages : 634
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 634
Points : 105
Points : 105
Entre deux, j'ai réussi a faire exactement
ce que je voulais.

Mais je trouve le code très très lourd.

Est-il optimisable ?
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
<html>
<head>
<style>
.hidden 
{
   display: none;
}
 
.visible 
{
   display: inline;
}
</style>
 
<script>
function cache(identifiant) 
{
 if (document.getElementById(identifiant).className == "hidden") 
    {
     document.getElementById(identifiant).className = "visible";
    } 
else {
     document.getElementById(identifiant).className = "hidden";
     }
}
 
function affichiche(identifiant) 
{
 if (document.getElementById(identifiant).className == "visible") 
    {
     document.getElementById(identifiant).className = "hidden";
    } 
else {
     document.getElementById(identifiant).className = "visible";
     }
}
</script>
 
</head>
<body>
<br><br>
<input type="submit" id="AA" onclick="javascript:cache('AA'); javascript:affichiche('BB');" value="M.Perf*+*Filtre A/D" />
<a>-----------</a>
<input type="submit" id="BB" onclick="javascript:cache('BB'); javascript:affichiche('AA');" value="Rk Dernière Course" />
</body>
</html>
malabarbe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2010, 10h42   #4
Responsable Modération
 
Homme
Inscription : janvier 2007
Messages : 9 037
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2007
Messages : 9 037
Points : 14 651
Points : 14 651
Bonjour,
tu peux enlever les "javascript:" dans les onclick : ça allègera

Sinon, dans la mesure où un des boutons est forcément caché, tu fais des tests inutiles : à mon avis, en utilisant une seule fonction à 2 paramètres, ça suffirait
Code :
1
2
3
4
function toggle(Aff, Masq) {
document.getElementById(Aff).style.display = "inline";
document.getElementById(Masq).style.display = "none";
}
en appelant
Code :
1
2
3
toggle('AA','BB');
// Ou
toggle('BB','AA');
A+
E.Bzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 20h04.


 
 
 
 
Partenaires

Hébergement Web