Partage
  • Partager sur Facebook
  • Partager sur Twitter

Modifier avec js onclick=

Sujet résolu
    7 octobre 2008 à 16:25:48

    Bonjour !

    j'ai un span id="test" avec evenement onclick="affiche()"
    la function affiche() affiche un div id="aa"
    mais j'aimerai aussi par l'occasion qu'elle me remplace onclick="affiche()" par onclick="masque()"

    alors j'ai écrit :
    affiche = function() {
    	document.getElementById('aa').style.display = 'block';
    	document.getElementById('test').onclick = 'masque()';
    }
    masque = function() {
    	document.getElementById('aa').style.display = 'none';
    	document.getElementById('test').onclick = 'affiche()';
    }
    


    mais celka ne fonctionne pas, étant débutant, si vous pouviez me donner une piste se serai sympa

    Merci
    • Partager sur Facebook
    • Partager sur Twitter
      7 octobre 2008 à 17:23:59

      Tu peux pas faire qu'une seule fonction "Affiche".

      Dans cette fonction, tu testes le display :
      - Si display = none alors diplay => block
      - Si display = block alors diplay => none
      • Partager sur Facebook
      • Partager sur Twitter
        7 octobre 2008 à 22:28:55

        Ce qui te donne la fonction suivante :

        function displayMessage(id){
        	var message = document.getElementById(id);
        	if(message.style.display == 'none'){
        		message.style.display = '';
        	}
        	else{
        		message.style.display = 'none';
        	}
        }
        


        Et tu n'as plus qu'à mettre le lien suivant :
        <a href="javascript:displayMessage('[id de l'élément à masquer/afficher]');">Afficher/masquer</a>
        


        Tu noteras que pour réafficher l'élément, je lui mets un display vide, et non "block". De cette façon, la fonction peut être utilisée indistinctement pour un élément de type block ou inline, un display vide en javascript redonnant à l'élément son comportement standard.
        • Partager sur Facebook
        • Partager sur Twitter
          7 octobre 2008 à 22:46:38

          ou tu peux faire une variable , au debut quand tu clic elle devient 1 , donc tu affiche le div , et apres quand tu reclique elle devient 0 , et la tu n'affiche pas le div
          • Partager sur Facebook
          • Partager sur Twitter
            7 octobre 2008 à 22:55:36

            Ce serait une variable absolument inutile, autant récupérer directement l'état de l'élément dont il faut alterner l'affichage :p
            • Partager sur Facebook
            • Partager sur Twitter
              7 octobre 2008 à 22:58:56

              oui je sais mais ceux qui debutent comprennent mieu le truc de variable au debut je pense
              • Partager sur Facebook
              • Partager sur Twitter
                9 octobre 2008 à 14:58:04

                Merci Elias

                j'ai réussi à modifier le onclick avec :
                document.getElementById('test').onclick = function () {masque()};

                puis ton exemple m'a permis de faire beaucoup plus simple !

                • Partager sur Facebook
                • Partager sur Twitter

                Modifier avec js onclick=

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown