IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[DOM] Afficher du texte après un clic sur une photo


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut [DOM] Afficher du texte après un clic sur une photo
    Bonjour à tous,

    Je débute avec Java et j'aurai bien besoin de votre aide pour réaliser un script qui me permettrait de faire apparaitre du texte sur ma page dès que l'internaute clique sur une photo.

    Ma page serait en fait divisée en 2 blocs div : une qui contiendrait des photos et un qui contiendrait du texte.

    L'idée est donc que lorsqu'on clique sur une des photos, un texte apparait puis si on clique sur une autre photo, un nouveau texte apparait (à la place du premier), etc, etc

    Quel serait le processus pour réaliser ceci ?
    Merci d'avance pour votre aide!!

  2. #2
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    salut,
    voilà un exemple pour t'aider
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <html>
    <head>
    	<script language="javascript">
    		function afficherTexte(texte)
    		{
    			if (!document.getElementById("div2").hasChildNodes())
    				document.getElementById("div2").appendChild(document.createTextNode(texte));
    			else
    			{
    				document.getElementById("div2").removeChild(document.getElementById("div2").firstChild); 
    				document.getElementById("div2").appendChild(document.createTextNode(texte));
    				}
    		}
    	</script>
    </head>
    <body>
    <div id="div1">
    	<img src="chemin_image1" onClick="afficherTexte('photo1')"/>
    	<img src="chemin_image2" onClick="afficherTexte('photo2')"/>
    </div>
    <div id="div2"></div>
    </body>
    </html>

  3. #3
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    Exemple parfait utilisant le DOM
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci bcp pour ce script!! je comprend le principe mais néammoins encore une bête question ..

    Les "photo 1" et "photo2" vont devoir être des bloc div que je devrais placer dans mon bloc div2 je suppose ?

    Merci d'avance j ai hate de tester ça chez moi ce soir!

  5. #5
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    salut,
    le script ajoute seulement le texte "photo1" ou "photo2" dans div2. il crée un noeud texte composé de ce texte. tu remplaces "photo1" et "photo2" par le texte que tu veux afficher lors du survol des images.

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    désolé mais ça n a absolument pas marché... le texte s affiche dans le div avec les images et il n y a aucune possibilité de cliquer sur l image

  7. #7
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    tu veux dire quoi par
    le texte s affiche dans le div avec les images et il n y a aucune possibilité de cliquer sur l image

  8. #8
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    c est à dire que mon texte s affichait directement dans la div 1 et par contre dans la div 2, aucun texte ne s affichait quand je cliquais sur les photos

    entre temps j ai testé un script qui m a permi d obtenir l effet désiré mais .. malgré tout encore un problème!! mes textes de chaque div s affichent en meme temps lorsque je charge la page!!

    quelqu un peut il me dire quel est le problème avec le script ci dessous ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <div id="photos">
    <a href="javascript:displayDiv('page1');">Lien 1</a> 
    <a href="javascript:displayDiv('page2');">Lien 2</a>
    </div>
     
    <div id="page1">
    blabla
    </div>
     
    <div id="page2">
    bliblibloblo
    </div>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    var list_div = new Array('page1', 'page2');
     
    //Au chargement de la page, on ne laisse affichée que la première div
    window.onload = function(){
    	for(var i=1; i<list_div.length; i++){ //On commence la boucle à 1 pour ne pas modifier la première div de la liste
    		var div = document.getElementById(list_div[i]);
    		div.style.display = 'none';
    	}
    }
     
    function displayDiv(id){
    	for(var i=0; i<list_div.length; i++){
    		var div = document.getElementById(list_div[i]);
    		//On rend la div visible si son id est le même que celui passé en paramètre de la fonction, sinon on la masque
    		div.style.display = (div.id == id ? '' : 'none');
    	}
    }

Discussions similaires

  1. [MySQL] Comment afficher du texte après un clic sur un lien?
    Par david252 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/07/2011, 00h09
  2. afficher une animation flash apres le clic sur une zone
    Par reeno dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/01/2009, 23h21
  3. Réponses: 4
    Dernier message: 02/05/2008, 10h31
  4. Réponses: 17
    Dernier message: 05/09/2007, 16h24
  5. Créer une zone visible qu'après un clic sur une zone
    Par spec10 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/11/2006, 04h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo