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 :

Onclick : vide le contenu précédent de la div cible & garde le contenu de la div clik


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Par défaut Onclick : vide le contenu précédent de la div cible & garde le contenu de la div clik
    Bonjour à tous,

    J'ai une question à poser :
    comment faire pour que le contenu de ce qui est cliqué (qui déclenche un onclick) reste apparent même une fois cliqué ?

    Et en fait aussi une deuxième :
    comment faire pour que ma div Contenu où s'affiche le résultat des onclick soit vidée du contenu appelé par les onclick précédents à chaque nouveau click ?

    Voici mon code en espérant que celà soit plus compréhensible :

    HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <div id="Article"><ul>
     
    		<li><div id="div1" style="display:none;">
    			<a href="#" onclick="visibilite(this, 4); return false;">ZaïZaïZaïZaï</a>  
    			<a href="#" onclick="visibilite(this, 5); return false;">bebopaloula</a>
    			<a href="#" onclick="visibilite(this, 6); return false;">chopichopa</a></div></li>
    Ma fonction visibilite :
    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
    <script type="text/javascript">
    function visibilite(obj, thingId)
    {
        var targetElement;
        targetElement = $("div"+thingId);
        if (targetElement.style.display == "none")
        {
            targetElement.style.display = "";
            obj.innerHTML = '';
        } else {
            targetElement.style.display = "none";
            obj.innerHTML = '';
        }
    }
    </script>
    Et ma div contenu où est balancé le contenu appelé via onclick :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <div id="Contenu">Contenu des articles ICI	
    	<div id="div4" style="display:none;">
    	Lalalilalou
    	</div>
     
    	<div id="div5" style="display:none;">
    	Choubidouwhoua
    	</div>
     
    <div id="div6" style="display:none;">
    	Te quiero mas 
    	</div>

    Par exemple :

    1ère question)
    en cliquant sur "ZaïZaïZaïZaï" cela laisse "ZaïZaïZaïZaï" affiché là où il est (dans la div Articles) tout en balancant "Lalalilalou" dans la div contenu.

    2ème question)
    en cliquant sur "bebopaloula" cela efface "Lalalilalou" de la div Contenu pour y mettre "Te quiero mas"

    Ca ne doit pas être bien dur mais étant débutant malgré je ne vois pas Merci à ceux qui se pencheront sur la chose !

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function visibilite(obj, thingId)
    {
        var targetElement;
    //    targetElement = $("#div"+thingId); Si tu utilise jQuery
     targetElement=document.getElementById('div'+thingid);
        if (targetElement.style.display == "none")
        {
            targetElement.style.display = "block";
            obj.innerHTML = '';
        } else {
            targetElement.style.display = "none";
            obj.innerHTML = '';
        }
    }

  3. #3
    Membre régulier
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Par défaut
    salut andry,
    Je viens d'essayer ton bout de code donc en mettant block mais cela ne marche toujours pas... le site est disponible ici pour y voir concrètement le rendu.

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Essaye avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function visibilite(obj, thingId)
    {
       if ($('div'+thingId).style.display == "none")
       {
           $('div'+thingId).style.display = "block";
           obj.innerHTML = '';
       } else {
           $('div'+thingId).style.display = "none";
           obj.innerHTML = '';
       }
    }

  5. #5
    Membre régulier
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Par défaut
    j'ai réessayé avec ce code est le soucis est toujours le même :
    le texte du block clické disparait lors du click
    et le contenu s'ajoute au précédent sans effacer l'ancien...

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Avec
    obj.innerHTML = '';
    tu effaces la contenue du bloc cliqué car tu mets this en paramètre lors de l'appel de la fonction
    <a href="#" onclick="visibilite(this, 4); return false;">ZaïZaïZaïZaï</a>
    tu dois mettre en paramètre le div que tu veux effacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="visibilite(document.getElementById('IdDiv'), 4); return false;">ZaïZaïZaïZaï</a>
    Quelle framework tu utilise avec le $('div'+thingId)?

Discussions similaires

  1. [DIV] Scroll si dépassement de contenu
    Par webrider dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/03/2007, 09h34
  2. Grandeur de boite/div qui s'ajuste au contenu
    Par nikicaillou dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 05/01/2007, 17h31
  3. [HTML/CSS] Taille d'un <div> en fonction de son contenu
    Par hedgehog dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 14/12/2006, 18h57
  4. [DIV] [FireFox] Problème affichage du contenu dans un div
    Par jibouze dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 24/11/2005, 11h06

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