Afficher et masquer calque avec js [Résolu]

sagaff 44 Messages postés dimanche 9 novembre 2003Date d'inscription 9 décembre 2008 Dernière intervention - 16 sept. 2006 à 20:38 - Dernière réponse : ilyessou31 2 Messages postés mardi 30 mars 2010Date d'inscription 24 août 2010 Dernière intervention
- 24 août 2010 à 07:28
Bonjours, j'ai un petit problème avec code:  

<html>
<head>
<title>Document sans-titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script>
function visibilite(thingId)
{
var targetElement;
targetElement = document.getElementById(thingId) ;
if (targetElement.style.display == "none" )
{
targetElement.style.display = "" ;
} else {
targetElement.style.display = "none" ;
}
}
</script>
</head>
 

 
[javascript:visibilite('divid'); afficher/masquer]
[javascript:visibilite('divid2'); afficher/masquer 2]
 

contenu

contenu defaut

</html>

Ce que je cherche à faire, c'est que lorsqu'un div est affiché, j'aimerai que les autre soit caché. Ne pas avoir 2 div supperposé lorsque les 2 liens sont actifs
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
nickadele 1253 Messages postés mercredi 7 août 2002Date d'inscription 10 avril 2013 Dernière intervention - 17 sept. 2006 à 11:25
3
Merci
Ceci devrait t'aider !

<html>
<head>
<title>Document sans-titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script>
function visibilite(thingId)
{
 var i;
 var targetElement;
 for(i=1; i<4; i++){
  targetElement = document.getElementById("divid" + i) ;
  targetElement.style.display = "none" ;
 }
 targetElement = document.getElementById("divid" + thingId) ;
 targetElement.style.display = "" ;
}
</script>


</head>
 

 
[javascript:visibilite('1'); afficher1/masquer]
[javascript:visibilite('2'); afficher2/masquer]
[javascript:visibilite('3'); afficher3/masquer]
 

contenu 1

contenu defaut

contenu 3

</html>

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle

Merci nickadele 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de nickadele
sagaff 44 Messages postés dimanche 9 novembre 2003Date d'inscription 9 décembre 2008 Dernière intervention - 17 sept. 2006 à 13:51
0
Merci
Merci beaucoup  nickadele
Commenter la réponse de sagaff
CPAGRAV 2 Messages postés dimanche 26 février 2006Date d'inscription 11 mars 2008 Dernière intervention - 11 mars 2008 à 14:43
0
Merci
merci pour ton code. il m'a été d'une grande utilité.
J'aimerais mettre ton pseudo sur mon code source si tu permets et si ce code est vraiment de toi...

cpg
Commenter la réponse de CPAGRAV
cs_FoVoir 1 Messages postés mardi 1 avril 2008Date d'inscription 1 avril 2008 Dernière intervention - 1 avril 2008 à 13:16
0
Merci
Bonjour,

J'ai fait une page (page1) où en passant sur des liens différents div s'affiche comme expliqué ci-dessus. Je voudrais pouvoir faire un lien depuis une autre page (page 2) vers cette page en choisissant le div qui va s'afficher en fonction du lien. En gros, je veux faire par exemple 4 liens sur la page 2 menant à la page 1 avec le lien 1 qui permet d'afficher le div1, le lien 2 qui permet d'afficher le div2, etc.

Quelqu'un aurait une solution ?

Merci
Commenter la réponse de cs_FoVoir
cs_krma 20 Messages postés samedi 20 septembre 2003Date d'inscription 14 août 2008 Dernière intervention - 28 juil. 2008 à 11:44
0
Merci
Bonjour et merci à Nickadele pour ce script simple super pratique !
Pour ton probleme FOVOIR (il est un peu tard, je suppose que tu as trouvé depuis le temps) mais il faut passer en variable PHP dans tes liens de la page 2, l'id de la div à afficher par défaut :
<?php echo "lien_vers_ma_page1.php?div=1"; ?>
<?php echo "lien_vers_ma_page1.php?div=2"; ?>
etc pour la page deux, trois, quatre...
Variable que tu récupères dans ton body onload sur la page cible :
')">

Warning : il faut se méfier des simples quotes et doubles quotes quand on met des balises PHP dans JS mais j'appelle dynamiquement des FLV et des MP3 via ce principe et en bricolant les simples et doubles quotes, ça fonctionne très bien.

Be Good...
Commenter la réponse de cs_krma
cs_krma 20 Messages postés samedi 20 septembre 2003Date d'inscription 14 août 2008 Dernière intervention - 28 juil. 2008 à 12:06
0
Merci
Tiens, tout sur la meme page, plus simple à comprendre (du coup, je vais m'en servir aussi). Trop de balises PHP dans ma page mais j'ai fait ça vite pour voir si je ne disais pas de betises :-) Et apparemment, ça fonctionne.

<?php
switch($action)
{
case "clicsurdiv";
?>
<html>
<head>
<title>menu div test div n°<?php echo "$div"; ?> affichées</title>
<meta http-equiv= "Content-Type" content="text/html; charset=iso-8859-1">
<script>
function visibilite(thingId)
{
 var i;
 var targetElement;
 for(i=1; i<4; i++){
  targetElement = document.getElementById("divid" + i) ;
  targetElement.style.display = "none" ;
 }
 targetElement = document.getElementById("divid" + thingId) ;
 targetElement.style.display = "" ;
}
</script>


</head>
 
')">
 
[javascript:visibilite('1'); afficher1/masquer]
[javascript:visibilite('2'); afficher2/masquer]
[javascript:visibilite('3'); afficher3/masquer]
 

vous avez cliqué le DIV 1

vous avez cliqué le DIV 2

vous avez cliqué le DIV 3

</html>
<?php
break;


default:
?>
<html>
<head>
<title>menu div test liens source</title>
<meta http-equiv ="Content-Type" content="text/html; charset=iso-8859-1">
<?php echo "Lien vers div 1"; ?>

<?php echo "Lien vers div 2"; ?>

<?php echo "Lien vers div 3"; ?>

</html>
<?php } ?>

Be Good...
Commenter la réponse de cs_krma
ilyessou31 2 Messages postés mardi 30 mars 2010Date d'inscription 24 août 2010 Dernière intervention - 24 août 2010 à 07:28
0
Merci
slt tous me monde mais ça ne marche pa tamethode Krma, c la deuxiéme page qui doit affiché les div choisi au préalable qui beug et voici l'erreur
"Parse error: syntax error, unexpected $end in /www/zxq.net/e/r/e/erei-dz/htdocs/ppp.php on line 38 "
ça ne marche pas
si je comprend bien il faut faire deux page separées depuis votre derniers code et merci!!!
ilyessou_31
Commenter la réponse de ilyessou31

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.