bonjour, apres plusieurs recherche j'ai trouver ceci qui me correspond tres bien.
http://www.r-leconte.net/index.php?o...query&Itemid=5
chez moi les etoiles apaprait au survol nikel j'ai la couleur qui change mais quand je clic dessus rien du tout.
alors que normalement le message devra apparaitre.
Voila moi j'ai changer un peu leur code et recuperer le nombre de vote de ma base.
voici ce que j'ai mit dans mon header:
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 <script type="text/javascript"> $(document).ready(function(){ $(".star, .star_hover").hover(function () { // Au survole d'une étoile var id = $(this).attr("id"); // On récupere son id, exemple : star_5 var num = id.split('star_'); // On récupère le numéro de l'id, exemple : 5 for (var i=1;i<=num[1];i++){ // on modifie le css pour chaque étoile situé avant celle survolé par la souris var hover = '#star_'+i; // On crée le nom de l'id dont on va modifier le css, exemple : star_1 $(hover).css("background-position","0 -16px"); } }, function() { // fonction utilisé lorsque la souris se retire de l'étoile survolé (fait la même chose mais remet le background) var id = $(this).attr("id"); var num = id.split('star_'); for (var i=1;i<=num[1];i++){ $('#star_'+i+'[class=star]').css("background-position","0 0"); $('#star_'+i+'[class=star_hover]').css("background-position","0 -32px"); } }); $(".star, .star_hover").live('click', function(){ var id = $(this).attr("id"); var vote = id.split('star_'); $.ajax({ type: "POST", url: "vote_traitement.php", data: 'vote='+vote[1], beforeSend: function(){}, complete: function(){}, success: function(){ alert('Vous avez voté : '+vote[1]); } }); return false; }); }); </script>
la page:
Code php : 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 <?php .. $vote=$ListeActiviteAmis->getVotesActivite(); for ($i=1;$i<=$vote;$i+=2){ // de 1 à $vote étoiles (+1 si impaire) $body.='<div id="star_'.$i.'" class="star_hover"></div>'; if ($i<$vote){ $body.='<div id="star_'.($i+1).'" class="star_hover"></div>'; }else{ $body.='<div id="star_'.($i+1).'" class="star"></div>'; } } for ($i;$i<=10;$i+=2){ // de ($vote (+1 si impaire)) $i à 10 $body.='<div id="star_'.$i.'" class="star"></div>'; $body.='<div id="star_'.($i+1).'" class="star"></div>'; } $vote_isset_user = 1; $body.='<br /><div style="float:left;margin-left:15px;">(Notes : '.$vote.'/10)</div>'; if (!$vote){ // Si $vote = false, alors aucune note n'ai prise en compte à l'affichage for ($i=1;$i<=10;$i+=2){ $body.='<div id="star_'.$i.'" class="star"></div>'; $body.='<div id="star_'.($i+1).'" class="star"></div>'; } }.. ?>
merci.
Partager