Partage
  • Partager sur Facebook
  • Partager sur Twitter

Spoiler ne marche pas

Sujet résolu
    13 mai 2010 à 0:20:12

    Bonjour ! Bon je ne vais pas m'attarder^^ en faite j'ai fait une petite fonction en javascript pour faire un espèce de "spoiler".

    Et...il ne marche pas^^, rien ne se passe quand je click sur le lien.
    Bon voici la code (il est court) :
    <?php //Le lien pour activer/désactiver le spoiler
    function spoiler($spoiler1)
    {
        echo '<p><a href="#" onclick="spoiler_js(' . $spoiler1 . ');">Spoiler</a></p>';
    }
    
    spoiler(spoiler1); //la fonction c'est juste pour m'évister du code^^
    ?>
    

    function spoiler_js(nom)
    {
    	var actual = document.getElementById(nom).style.display;
    	
    	if (actual == 'block')
    	{
    		nom.style.display='none';
    	}
    	else
    	{
    		nom.style.display='block';
    	}
    }
    

    Et la div (on sait jamais^^ :
    <div id="spoiler1" name="spoiler1">
    Voila^^, sa devrait s'afficher/devenir invisible^^ Merci d'avance pour l'aide
    </div>
    


    Voila, merci d'avance ^^

    EDIT : ça marche à la perfection grâce à un ami.
    • Partager sur Facebook
    • Partager sur Twitter
    Mon Twitter : @Amatewasu
      14 mai 2010 à 14:01:17

      Tu peux mettre les codes stp, comme ça, si y'a quelqu'un qui en a besoin... ^^
      • Partager sur Facebook
      • Partager sur Twitter
        14 mai 2010 à 14:23:28

        Okay^^

        Code js à placé dans le <head></head> :
        function spoiler_js(nom)
        		{
        			var div = document.getElementById(nom);
        			if (div.style.display == "block")
        				div.style.display = "none";
        			else
        				div.style.display = "block";
        		}
        

        Fonction php qui créer le lien (parfaitement inutile, juste pour économiser nos doigt^^) :
        <?php
        function spoiler($nom, $affichage)
        	{
        		echo '<a href="#" onclick="spoiler_js(\'' . $nom . '\');">' . $affichage . '</a>';
        	}
        ?>
        

        Fonction php qui créer une div : (C'est pratique pour un petit texte, sinon je conseil de créer manuellement la div)
        <?php
        function div($message, $nom)
        	{
        		echo '<div id="' . $nom . '" name="' . $nom . '" style="display: none;"><br />' . $message . '</div>';
        	}
        ?>
        

        Et donc couplé aux fonction voici les deux lignes de code à fournir afin de faire le spoiler :
        <?php
        spoiler('spoiler1', 'Spoiler'); /* En première argument le nom du spoiler, en second le texte du lien */
        div('Blabla^^', 'spoiler1'); /* En première argument le texte à cacher et en second argument le nom du spoiler, /!\ Doit être identique au premier argument de la fonction spoiler */
        ?>
        


        Voila^^, au fait vous n'êtes pas obliger d'utiliser les fonctions que j'ai donné, c'est juste pour éviter de retaper quelque ligne de code.

        Au niveau effet, quand on clique sur le lien, sa cache/affiche le texte masqué.

        EDIT : Au faite, si vous voulez faire un spoiler qui est afficher au départ modifier dans la div
        sa : <div id="spoiler1" style="display: none;"> par sa :
        <div id="spoiler1" style="display: block;">
        • Partager sur Facebook
        • Partager sur Twitter
        Mon Twitter : @Amatewasu

        Spoiler ne marche pas

        × 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