Bonjour,
Je me demandai si il était possible de mélanger une liste <ul> apres la création de celle-ci ?
Un peu à la maniere de shuffle() en php ?
Merci
Bonjour,
Je me demandai si il était possible de mélanger une liste <ul> apres la création de celle-ci ?
Un peu à la maniere de shuffle() en php ?
Merci
Tu l'as dis toi-même, ta <ul> est déjà créée, html n'est qu'un langage de structuration, tu dois forcément voir ça avant la création de ta liste ou après avec javascript.
un langage de balises, tu veux dire !html n'est qu'un langage de structuration
Je te propose ce petit script (avec jQuery)
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
27
28
29
30
31
32
33
34
35
36
37 <html> <head> <title>Shuffled UL</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script type="text/javascript"> <!-- $(function(){ // on récupère les contenus de tous les <li> de la <ul> ciblée dans un tableau JS var aLi = new Array(); $('ul#shuffle li').each(function(){ aLi.push($(this).html()); }); // on reconstruit les <li> en prenant un par un, aléatoirement, les éléments du tableau JS var sLi = ''; while(aLi.length > 0) { var i = Math.floor(Math.random()*aLi.length); sLi += '<li>' + aLi[i] + '</li>'; aLi.splice(i,1); } // on remplace le contenu de la <ul> par celui qui vient d'être généré $('ul#shuffle').html(sLi); }); //--> </script> </head> <body> <ul id="shuffle"> <li>A</li> <li>B</li> <li>C</li> <li>D</li> <li>E</li> <li>F</li> </ul> </body> </html>
Merci pour ce code et vos réponses.
Je pensais bien que cela n'était pas faisable en html...
Je vais donc laisser mon script php faire un shuffle avant de traiter l'affichage.
Partager