Bonsoir à tous,
Je masque une partie d'un texte contenu dans une balise p via jquery et j'ajoute à l'intérieur de cette même balise p à la suite du texte tronqué un contenu dans un span " plus de détail ". Lorsque l'on clique dessus la partie tronqué du texte se ré affiche. Ensuite j'ajoute en plus de la partie tronqué un texte contenu dans un span " retour " qui devrait en toute logique me faire revenir au début de l'opération. Mais là mystère, le texte " retour " se met bien dans le span au bout du texte mais lorsque je clique dessus rien ne se passe...
Je vous montre mon code qui n'est pas bien complexe au passage :
Je suis vraiment à l'arrêt avec ce bug (ou erreur de ma part). J'espère que quelqu'un pourra me donner un petit coup de pouce !
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
24
25
26 $(document).ready( function () { var tabMasque = new Array(); var i = 1; //Scan dans ma page toutes les balises p qui devront être tronqué $(".entry > .masque").each(function() { //Je résupère le contenu originale et le stocke dans un tableau déclaré en variable globale pour pouvoir le réutilisé par la suite. tabMasque[i] = $("p#"+$(this).attr("id")).html(); //Je tronque le texte cotenu dans p via substr et j'ajoute mon texte " plus de detail " $(this).html($(this).text().substr(0, 60)+" <span class=\"plus_detail\" id=\""+$(this).attr("id")+"\"><+ de détail></span>"); i++; }); //Lorsque l'on clique sur le texte plus de détail on affiche la totalité du texte contenu au départ dans la balise p concerné. $(".plus_detail").click(function() { //Je vide le contenu de la variable pour éviter des petits bugs. $("p#"+$(this).attr("id")+".masque").html(""); //J'ajoute un lien retour pour revenir à l'état précédent, le texte tronqué. $("p#"+$(this).attr("id")+".masque").append(tabMasque[$(this).attr("id")]+" <span class=\"back\" id=\""+$(this).attr("id")+"\">< retour></span>"); }); //Lorsque l'on clique sur le texte " retour " on revien à l'état précédent. $(".back").click(function() { $("p#"+$(this).attr("id")+".masque").html(""); //Je retronque mon texte $("p#"+$(this).attr("id")+".masque").append(tabMasque[$(this).attr("id")].substr(0, 60)+" <span class=\"plus_detail\" id=\""+$(this).attr("id")+"\"><+ de détail></span>"); }); });
Partager