Afficher/masquer div en Jquery

Fermé
obk - 8 janv. 2011 à 16:48
 test - 27 mars 2012 à 17:16
Bonjour,



J'ai codé un petit code en jquery pour afficher/masquer selon le besoin le contenu de div qui ont tous la même class !

Je ne comprends pas pourquoi le code marche avec firefox mais pas avec chrome (alors que j'utilise du jquery, il ne devrait pas avoir de problème)

Merci.

voici le code ;
$(document).ready(function(){
	    // on sélectionne tous les div avec la classe zoneTexte et on les parcours
	    $("div.details").each(function(i){
	        // on recupere la longueur du texte et on coupe à la longueur 100 (s'il est aussi

	            var contenu = $(this).html();

                    
                    var debut = contenu.substr(0,0);
                    $(this).html(debut);
	            $(this).append("<span id='continuer"+(i+1)+"'> Afficher la description</span>");
	            $(this).append("<span id='suite"+(i+1)+"'>"+contenu+"</span>");
	            $(this).append("<span style='font-weight: bold' id='masquer"+(i+1)+"'> [Réduire]</span>");
	            $("#suite"+(i+1)).hide();
                    $("#masquer"+(i+1)).hide();
	            $(this).find("span#continuer"+(i+1)).click(
	            function(){
	                $(this).hide();
	                $("#suite"+(i+1)).fadeIn("slow");
	                $("#masquer"+(i+1)).fadeIn("slow");
	            })
	            $(this).find("span#masquer"+(i+1)).click(
	            function(){
	                $(this).hide();
	                $("#suite"+(i+1)).fadeOut("slow");
	                $("#continuer"+(i+1)).fadeIn("slow");
	            });
	});

});
A voir également:

3 réponses

Utilisateur anonyme
8 janv. 2011 à 21:51
As-tu activé le javascript sur Chrome ?
3
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
8 janv. 2011 à 23:17
Salut.

var debut = contenu.substr(0,0);
$(this).html(debut);
Remplace le deuxième 0 par 100.

$(this).find("span#continuer"+(i+1)).click(
function(){
    $(this).hide();
    $("#suite"+(i+1)).fadeIn("slow");
    $("#masquer"+(i+1)).fadeIn("slow");
})
Il manque un point-virgule.
0
Salut à vous deux,

J'ai corrigé le ; mais ça ne change rien.
En fait sur chrome, ça masque bien le texte, ça le dévoile lorsque je clique sur afficher la description mais lorsque je clique sur réduire, j'ai denouveau afficher la description qui réapparaît mais le contenu ne se remasque pas. Alors que ça marche très bien sur firefox.

Et pour l'histoire du 0 et du 100, j'ai volontairement mis 0 car je veux masquer tout le contenu du div!

Merci encore pour votre aide.

Si quelqu'un à une autre idée ?
0
Aucune idée ?!
0
ok
0