gradegro
Messages postés1Date d'inscriptionmardi 10 mars 2009StatutMembreDernière intervention24 février 2010 24 févr. 2010 à 18:31
Merci, excellente source, ce que je cherchais.
Merci également à Xenul, je me suis servi de sa source pour mon site.
izzybosse
Messages postés1Date d'inscriptionlundi 22 juin 2009StatutMembreDernière intervention20 février 2010 20 févr. 2010 à 12:44
très bien
chaman35
Messages postés9Date d'inscriptionmercredi 8 avril 2009StatutMembreDernière intervention 6 juillet 2009 8 avril 2009 à 20:27
Salut a tous
dabord merci a toi Scraat c bien sympa ca aide, mais petite question j'ai esseyé d'inclure ce code dans un tableau ce qui donne <td onload="NotationSystem();"> etc...
mais ca marche pas Une solution?
cs_rickyo
Messages postés1Date d'inscriptionlundi 9 février 2009StatutMembreDernière intervention 9 février 2009 9 févr. 2009 à 13:41
Bonjour à tous,
J'ai lu tous vos script et je les ai essayés, car je voudrais en placer un sur mon site.
Je suis novice, et je souhaiterais savoir si on peut inclure une notification ou alerte email afin de connaitre directement le résultat du vote ? Merci, si quelqu'un pourrait m'aider ?
Xenul
Messages postés35Date d'inscriptionmardi 8 août 2006StatutMembreDernière intervention28 octobre 2007 3 janv. 2009 à 16:47
(erf, on ne peut éditer ses commentaires :/)
C'est bon, j'ai trouvé :D
J'ai créé un formulaire, et modifié les valeurs des champs lors du img.onclick.
<head>
<script>
<!--
StarBaseId = new Array('S1_', 'S2_'); //id de base des étoiles
NbStar = 10; //nombre d'étoiles
Check = new Array(0, 0);
LgtStarBaseId = new Array();
for (i =0; i < StarBaseId.length; i++)
{
LgtStarBaseId[i] = StarBaseId[i].lastIndexOf('');
}
function NotationSystem() {
for (j = 0; j < StarBaseId.length; j++)
{
for (i=1; i < NbStar+1; i++)
{
var img = document.getElementById(StarBaseId[j]+i);
img.alt = j;
img.onclick = function()
{
if (Check[this.alt] == 0)
{
SetOpacity(this.id, this.alt, 1);
Check[this.alt] = 1;
alert('Vous avez donné la note de '+Name2Nb(this.id, this.alt)+'.');
}
};
img.title = 'Donner la note de '+i; //Texte au survol
function SetOpacity(Star, key, opacity)
{
StarNb=Name2Nb(Star, key);
for (var i = 1; i <= StarNb; i++)
{
document.getElementById(StarBaseId[key]+i).style.opacity = opacity;
}
}
function Name2Nb(Star, key) {
//Le survol d'une étoile ne nous permet pas de connaître directement son numéro
//Cette fonction extrait donc ce numéro à partir de l'Id
StarNb=Star.slice(LgtStarBaseId[key]);
return(StarNb);
}
-->
</script>
</head>
Par contre, j'arrive pas à faire un truc : lors d'un click pour fixer un vote, je souhaiterai faire document.write afin de mettre un input type hidden avec la valeur du vote. Le problème c'est qu'il ne garde pas les données de la page courante, et m'écrit l'input dans une nouvelle page :/
cs_Alain Proviste
Messages postés908Date d'inscriptionjeudi 26 juillet 2001StatutModérateurDernière intervention 1 février 20152 12 déc. 2008 à 13:09
rien ne t'interdit de publier mieux, plutot que de poster de la merde
yuuki2
Messages postés1Date d'inscriptionvendredi 12 décembre 2008StatutMembreDernière intervention12 décembre 2008 12 déc. 2008 à 11:54
on a envi de te gifler tellement cest laid ton code, et puis en plus c'est emplatre avec des etoiles disproportionne, allez va osef ce code tssss
cs_Alain Proviste
Messages postés908Date d'inscriptionjeudi 26 juillet 2001StatutModérateurDernière intervention 1 février 20152 28 oct. 2008 à 14:22
c'est à dire ? Apres rafraichissement de la page ? Si oui, un cookie devrait suffir
cs_alineo
Messages postés2Date d'inscriptionmercredi 19 mars 2008StatutMembreDernière intervention28 octobre 2008 28 oct. 2008 à 14:04
Comment faire pour faire en sorte de garder les étoile allumée kan on a choisi sa note ? =/
cs_alineo
Messages postés2Date d'inscriptionmercredi 19 mars 2008StatutMembreDernière intervention28 octobre 2008 28 oct. 2008 à 14:04
super exactement ce que je cherchais merci :)
hood042
Messages postés8Date d'inscriptionvendredi 20 avril 2007StatutMembreDernière intervention 1 juin 2007 8 févr. 2008 à 21:01
Pas mal comme source :)
tibob135
Messages postés34Date d'inscriptionmercredi 15 août 2007StatutMembreDernière intervention 5 février 2008 8 févr. 2008 à 18:49
Je me demandais pour envoyer les données dans la base de données (type sql server express)?
Avec la technologie .net (C#). Si quelqu'un a des pistes.
J'ai essayé avec un control DropDownList, qui ne prends pas que les valeurs textes.
[ débutante ^^ ]
tibob135
Messages postés34Date d'inscriptionmercredi 15 août 2007StatutMembreDernière intervention 5 février 2008 9 déc. 2007 à 16:39
ça marche aussi plusieurs fois?
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 8 juil. 2007 à 19:51
faut un langage serveur pour ca
Script Dead
Messages postés1Date d'inscriptiondimanche 8 juillet 2007StatutMembreDernière intervention 8 juillet 2007 8 juil. 2007 à 17:51
Tout marche correctement je suis très satisfait. Mais comment quelque chose qui comptabilise les notes (comme la petite souris sur votre site à droite des étoiles) ?
liberty74
Messages postés3Date d'inscriptionsamedi 17 mars 2007StatutMembreDernière intervention 9 mai 2007 9 mai 2007 à 09:31
ba moi je ne passe pas par ajax, j'envois la note à une page php avec un img.onclick = windows.top.location.href="tapage.php?note="+note; dans laquelle je récupère la note en question avec un GET et je l'enregistre dans la bd.
Si ca peut t'aider....
cs_piep14
Messages postés345Date d'inscriptionlundi 15 mars 2004StatutMembreDernière intervention13 mai 2011 8 mai 2007 à 12:19
Super, ton code source marche a merveille. Cependant, je voudrais comme tu le souligne dans tes commentaires, envoyer les données dans la base de données et donc il faut passer par Ajax mais je n'arrive pas a le faire. Aurez tu des pistes a me fournir ? Bien sur, une fois la note validée, il faut afficher la note enrgistré :D
Merci de tes conseilles et bonne continuation
liberty74
Messages postés3Date d'inscriptionsamedi 17 mars 2007StatutMembreDernière intervention 9 mai 2007 3 mai 2007 à 14:03
J'ai trouvé, pour ceux qui comme moi ne maitrisent pas le javascript je mets ma modification:
img.onclick =function() {
StarOver(this.id);
clicked=1;
//alert('Vous avez donné la note de '+Name2Nb(this.id)+'.');
};
//Réaction lors du clic sur une étoile
//Evidemment, il faudrait compléter cette fonction pour la rendre vraiment utile.
//Par exemple, envoyer la note dans une base de donnée via un XMLHttpRequest.
img.alt ='Donner la note de '+i;
//Texte au survol
img.src =StarOutUrl;
img.onmouseover =function() {
if (clicked==0){
StarOver(this.id);}
};
img.onmouseout =function() {
if (clicked==0){
StarOut(this.id);}
};
Voila, en fait je n'avais pas mis le if au bon endroit :s
liberty74
Messages postés3Date d'inscriptionsamedi 17 mars 2007StatutMembreDernière intervention 9 mai 2007 3 mai 2007 à 13:20
bonjour a tous
Ce système marche très bien, maintenant je voudrais insérer ca dans un formulaire et faire que quand on clique les étoiles restent séléctionnées comme on l'as fais.
J'ai bien essayé des choses comme
img.onclick=StarOver(this.id)
mais le img.onmouseout a le dessus.
J'ai même tenter de mettre un if autour de onmouseout avec une variable qui passe a false quand on clique mais ca ne marche pas non plus.
Quelqu'un peux t'il m'aider?
Merci d'avance.
masto95
Messages postés1Date d'inscriptionmardi 21 février 2006StatutMembreDernière intervention16 février 2007 16 févr. 2007 à 13:36
Salut tout le monde,
je viens apporter ma contribution car je me suis cassé les dents pendants 2 heures. Etrangement le systeme de notation sous ie ne fonctionnait pas chez moi avec mon systeme de template. En effet ie ne prenait pas en compte le au chargement de la page terminé, alors que les autres navigateurs interragissait très bien.
Préférez donc un bon bien frais avec un
window.onload = function NotationSystem() {...} dans le js
Merci pour la source. A+
cs_SpOrTiF
Messages postés62Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention 2 septembre 2008 15 déc. 2006 à 19:42
Ah, bravo pour ta source; en pleins ce que je cherchais.....
Merci.
10/10
Scraat
Messages postés51Date d'inscriptiondimanche 14 mars 2004StatutMembreDernière intervention 4 décembre 2012 7 janv. 2006 à 11:38
Tiens ? voilà qui est étrange... j'ai retéléchargé le script pour revérifier mais je ne rencontre pas de problème non plus, ni sous IE ni sous FF.
Normalement le script ne nécessite aucune modification avant d'être fonctionnel.
Une question toute bête : javascript est-il bien activé chez toi ?
Pour vérifier : http://www.volunteer.ca/volcan/javahelp/index-frn.htm Tu vois bien "JavaScript est présentement en fonctionnement sur votre logiciel de navigation" ?
Sinon suis les instruction qui suivent.
Si ce n'est pas ça je ne vois vraiment pas, quelles sont les versions de tes navigateurs ?
Tu peux le voir dans le menu ? -> A propos de...
cs_Fleuretta
Messages postés10Date d'inscriptionvendredi 6 janvier 2006StatutMembreDernière intervention 7 décembre 2013 7 janv. 2006 à 01:15
Bonjour Jesuonline!
Je t'avoue que j'espérais que tu passes par ici!
Je suis sous IE mais cela ne fonctionne pas plus sous FF.
As-tu ajouté des choses à quelque part?
Quelqu'un à qui j'ai demandé son avis hier(mais il ne connaissait pas le script) m'a fait ajouter cela
[# ]
et naturellement le bon chemin pour l'image. Ce que j'ai fait plus haut aussi
StarOutUrl= 'image/StarOut.gif'; //image par défaut
StarOverUrl= 'image/StarOver.gif'; //image d'une étoile sélectionnée
StarBaseId= 'image/Star';
Au survol de la souris il n'y a aucun changement. Et pour le reste il ne se passe pas grand chose. J'entends le click mais c'est tout.
Merci
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 7 janv. 2006 à 00:29
Bonsoir,
Je viens de telecharger le zip, j'ai lancé le fichier html qui etait dedans tout fonctionne parfaitement, tu es sous quel navigateur ?
cs_Fleuretta
Messages postés10Date d'inscriptionvendredi 6 janvier 2006StatutMembreDernière intervention 7 décembre 2013 6 janv. 2006 à 23:51
Bonjour!
J'ai téléchargé ce script et il ne se passe pas grand chose. Au passage de la souris il n'y a rien qui change. L'étoile ne s'allume pas du tout. Je suis débutante et pour nous les débutants on se sait pas quoi faire, quoi ajouter aux bons endroits pour que cela fonctionne. Il serait bien de mentionner ce qui doit être fait ou ajouté. J'ai posté sur le forum en espérant une réponse tout comme ici car j'aimerais bien que cela fonctionne!
Merci
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 27 sept. 2005 à 19:11
ou alors tu fais ce que j'avais fait :)
Désole il vous faut javascript pour pouvoir noter
puis tu vides $('note') et tu rajoutes 10 images avec les functions onmouseover & co ;)
Scraat
Messages postés51Date d'inscriptiondimanche 14 mars 2004StatutMembreDernière intervention 4 décembre 2012 27 sept. 2005 à 19:06
Pour ce qui est de l'agrandissement : tout à fait... j'ai vu un code très similaire récemment...
Je vais m'occuper de ça !
Pour le xhtml : je vais rajouter des "alt", au moins. Après, ça redeviendra un peu "lourd" si je mets aussi les title.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 27 sept. 2005 à 19:03
oui, mais chiant pour le visiteur, il ne donnera pas ce dont je parlais : l'effet macos : un grossissement progressif des images précédentes et suivantes...
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 27 sept. 2005 à 18:54
il me semble pas que title soit une obligation, mais juste conseillé
sinon pour l'agrandissement en CSS non rien de compliqué suffit de modifier les propriété width et height sur l'image :)
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 27 sept. 2005 à 18:50
le grossicement CSS est possible, mais chiant...
alt doit être présent ainsi que title sur les images...
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 27 sept. 2005 à 18:48
non tu n'auras pas d'alt, il faut une balise alt dans le texte html .. pour les aveugles. Certains vont dire que ca vaut pas le coup de s'emmerder pour si peux, je ne rajouterais qu'une chose: google est aveugle ;)
Sinon pour l'effet de grossissement en css, ce serait possible, mais je suis pas d'accord, css sert à la présentation et non au dynamisme. la c'est un cas entre les 2 mais je ferais ca par javascript.
Scraat
Messages postés51Date d'inscriptiondimanche 14 mars 2004StatutMembreDernière intervention 4 décembre 2012 27 sept. 2005 à 18:43
Salut coucou747,
Pour l'effet de grossissement ton idée est intéressante, je vais y réfléchir !
Aussi, je pourrai utiliser l'effet de transparence en plus du rollover (du genre plus le nb d'étoiles augmente, plus elles sont visibles).
Sinon je connais mal le xhtml, ai-je vraiment de balises "alt" si je les attributs dès le chargement (l.23) ?
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 27 sept. 2005 à 18:31
Bon, selon moi, ici, on n'a pas forcément à critiquer le fait d'avoir choisi javascript ou CSS, sauf pour faire des fonctions ou le CSS est bien plus propre et bien plus efficace, ici, je serais étonné de voir un code CSS plus propre faisant les mêmes effets...
ce script pourrait être amélioré en faisant un éspèce de grossicement comme sur le menu MACOS, la, ça serait vraiment super!
à part ça, en xhtml, il faut obligatoirement les alt pour les images...
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 24 sept. 2005 à 22:37
cs_Alain Proviste
Messages postés908Date d'inscriptionjeudi 26 juillet 2001StatutModérateurDernière intervention 1 février 20152 24 sept. 2005 à 22:12
c'est pas du tout bordelique le js dans les pages cs !
Scraat
Messages postés51Date d'inscriptiondimanche 14 mars 2004StatutMembreDernière intervention 4 décembre 2012 24 sept. 2005 à 20:10
Bon donc j'ai corrigé pour les balises, pour les images j'ai juste mis un "src" pour chaque image comme ça pas de problème même sans javascript.
Bon il faudrait idéalement utiliser ta méthode pour "allumer" les bonnes étoiles mais je pense que je vais laisser ça comme ça pour l'instant, je vais d'abord mieux me renseigner sur les "nodes".
Merci de ton aide.
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 24 sept. 2005 à 19:11
Oui c'est déjà mieux si ce n'est que toutes les balises doivent être fermés donc
Mais la si les utilisateurs n'ont pas javascript, ils vont se retrouver avec 10images sans images :s donc autant enlever completement les images et faire comme moi mettre un div ou tu rempliras les images.
Aprés pour "allumer" les images, en pseudo code je ferrais
img.onclick = function()
{
var parent = this.parent; // permet d'aller au noeud parent (dans mon cas le div d'id note)
var node = parent.firsChild();
while (node == null) // on parcours tout les noeuds enfant
{
if (node.nodeType == 1) // on verifie que c'est bien un noeud tag
if (node.tagName == 'img') // que c'est bien un noeud img (normalement c'est inutile mais j'aime bien le code trop bien fait et stupide :p)
setOpacity(node, 40); // on change le paramètre alpha.
node = node.nextSibling;
}
}
En gros ca donnerait je pense à peu prés ca :)
Au pire regarde dans le js de ce site (je sais c'est "un peu" le bordel :p)
Scraat
Messages postés51Date d'inscriptiondimanche 14 mars 2004StatutMembreDernière intervention 4 décembre 2012 24 sept. 2005 à 19:00
Oui c'est vrai que ce n'était pas très élégant...
C'est mieux comme ça ? Comment tu ferais pour "allumer" toutes les étoiles inférieurs sans passer par une fonction Name2Nb comme j'ai fait ?
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 24 sept. 2005 à 17:36
T'aurais pas trouvé encore plus gros ??? pourquoi mettre un onmouseover etc.... sur chaque image ???
Je sais plus comment j'ai fait pour le systeme de notation par étoile sur ce site, mais si je me souviens bien, j'ai juste un
var elmt = document.getElementByID('note');
var imgsrc = 'etoile.gif';
for (i = 0; i < 10; i++)
{
var img = new Image();
img.src = imgsrc;
img.alt = 'donner la note de ' + i + '/10';
var _i = i; //pointeur mémoire
elmt.appendChild(img);
img.onclick = setNote(_i)
img.onmouseover = function(){
// pour faire comme le systeme de notation de CS, il faudrais rechercher les images 'inférieurs' un petit peu de code pas trés compliqué est donc necessaire ici :)
SetOpacity(this, 100)};
img.onmousout = function(){
//idem
SetOpacity(this, 40)};
setOpacity(this, 40);
}
}
var setNote = function(note){alert(note)}
window.onload = makeNote;
Je suis pas sur à 100% de mon code, mais il est inutile d'ecrire tes evenements sur toutes les balises img !!! une boucle for peut trés bien faire tout ca :)
24 févr. 2010 à 18:31
Merci également à Xenul, je me suis servi de sa source pour mon site.
20 févr. 2010 à 12:44
8 avril 2009 à 20:27
dabord merci a toi Scraat c bien sympa ca aide, mais petite question j'ai esseyé d'inclure ce code dans un tableau ce qui donne <td onload="NotationSystem();"> etc...
mais ca marche pas Une solution?
9 févr. 2009 à 13:41
J'ai lu tous vos script et je les ai essayés, car je voudrais en placer un sur mon site.
Je suis novice, et je souhaiterais savoir si on peut inclure une notification ou alerte email afin de connaitre directement le résultat du vote ? Merci, si quelqu'un pourrait m'aider ?
3 janv. 2009 à 16:47
C'est bon, j'ai trouvé :D
J'ai créé un formulaire, et modifié les valeurs des champs lors du img.onclick.
Demo & source ici : http://isen-airsoft.naedev.org/Perso/Notation_Etoile/
3 janv. 2009 à 10:54
J'ai modifié ton script, et pris en compte la remarque et l'astuce de Liberty74 afin de l'adapter à un nombre fini de vote sur une même page.
Ici, j'ai pris 2 votes (l'image de l'étoile est la même que sur ce site : /g/et.gif)
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<head>
<script>
<!--
StarBaseId = new Array('S1_', 'S2_'); //id de base des étoiles
NbStar = 10; //nombre d'étoiles
Check = new Array(0, 0);
LgtStarBaseId = new Array();
for (i =0; i < StarBaseId.length; i++)
{
LgtStarBaseId[i] = StarBaseId[i].lastIndexOf('');
}
function NotationSystem() {
for (j = 0; j < StarBaseId.length; j++)
{
for (i=1; i < NbStar+1; i++)
{
var img = document.getElementById(StarBaseId[j]+i);
img.alt = j;
img.onclick = function()
{
if (Check[this.alt] == 0)
{
SetOpacity(this.id, this.alt, 1);
Check[this.alt] = 1;
alert('Vous avez donné la note de '+Name2Nb(this.id, this.alt)+'.');
}
};
img.title = 'Donner la note de '+i; //Texte au survol
img.onmouseover = function()
{
if (Check[this.alt] == 0)
{
SetOpacity(this.id, this.alt, 1);
}
};
img.onmouseout = function()
{
if (Check[this.alt] == 0)
{
SetOpacity(this.id, this.alt, 0.3);
}
};
}
}
}
function SetOpacity(Star, key, opacity)
{
StarNb=Name2Nb(Star, key);
for (var i = 1; i <= StarNb; i++)
{
document.getElementById(StarBaseId[key]+i).style.opacity = opacity;
}
}
function Name2Nb(Star, key) {
//Le survol d'une étoile ne nous permet pas de connaître directement son numéro
//Cette fonction extrait donc ce numéro à partir de l'Id
StarNb=Star.slice(LgtStarBaseId[key]);
return(StarNb);
}
-->
</script>
</head>
<?php
for ($i=1; $i <= 10; $i++)
{
echo '';
}
echo "
";
for ($i=1; $i <= 10; $i++)
{
echo '';
}
?>
</html>
Par contre, j'arrive pas à faire un truc : lors d'un click pour fixer un vote, je souhaiterai faire document.write afin de mettre un input type hidden avec la valeur du vote. Le problème c'est qu'il ne garde pas les données de la page courante, et m'écrit l'input dans une nouvelle page :/
12 déc. 2008 à 13:09
12 déc. 2008 à 11:54
28 oct. 2008 à 14:22
28 oct. 2008 à 14:04
28 oct. 2008 à 14:04
8 févr. 2008 à 21:01
8 févr. 2008 à 18:49
12 déc. 2007 à 15:41
Je me demandais pour envoyer les données dans la base de données (type sql server express)?
Avec la technologie .net (C#). Si quelqu'un a des pistes.
J'ai essayé avec un control DropDownList, qui ne prends pas que les valeurs textes.
[ débutante ^^ ]
9 déc. 2007 à 16:39
8 juil. 2007 à 19:51
8 juil. 2007 à 17:51
9 mai 2007 à 09:31
Si ca peut t'aider....
8 mai 2007 à 12:19
Merci de tes conseilles et bonne continuation
3 mai 2007 à 14:03
img.onclick =function() {
StarOver(this.id);
clicked=1;
//alert('Vous avez donné la note de '+Name2Nb(this.id)+'.');
};
//Réaction lors du clic sur une étoile
//Evidemment, il faudrait compléter cette fonction pour la rendre vraiment utile.
//Par exemple, envoyer la note dans une base de donnée via un XMLHttpRequest.
img.alt ='Donner la note de '+i;
//Texte au survol
img.src =StarOutUrl;
img.onmouseover =function() {
if (clicked==0){
StarOver(this.id);}
};
img.onmouseout =function() {
if (clicked==0){
StarOut(this.id);}
};
Voila, en fait je n'avais pas mis le if au bon endroit :s
3 mai 2007 à 13:20
Ce système marche très bien, maintenant je voudrais insérer ca dans un formulaire et faire que quand on clique les étoiles restent séléctionnées comme on l'as fais.
J'ai bien essayé des choses comme
img.onclick=StarOver(this.id)
mais le img.onmouseout a le dessus.
J'ai même tenter de mettre un if autour de onmouseout avec une variable qui passe a false quand on clique mais ca ne marche pas non plus.
Quelqu'un peux t'il m'aider?
Merci d'avance.
16 févr. 2007 à 13:36
je viens apporter ma contribution car je me suis cassé les dents pendants 2 heures. Etrangement le systeme de notation sous ie ne fonctionnait pas chez moi avec mon systeme de template. En effet ie ne prenait pas en compte le au chargement de la page terminé, alors que les autres navigateurs interragissait très bien.
Préférez donc un bon bien frais avec un
window.onload = function NotationSystem() {...} dans le js
Merci pour la source. A+
15 déc. 2006 à 19:42
Merci.
10/10
7 janv. 2006 à 11:38
Normalement le script ne nécessite aucune modification avant d'être fonctionnel.
Une question toute bête : javascript est-il bien activé chez toi ?
Pour vérifier : http://www.volunteer.ca/volcan/javahelp/index-frn.htm
Tu vois bien "JavaScript est présentement en fonctionnement sur votre logiciel de navigation" ?
Sinon suis les instruction qui suivent.
Si ce n'est pas ça je ne vois vraiment pas, quelles sont les versions de tes navigateurs ?
Tu peux le voir dans le menu ? -> A propos de...
7 janv. 2006 à 01:15
Je t'avoue que j'espérais que tu passes par ici!
Je suis sous IE mais cela ne fonctionne pas plus sous FF.
As-tu ajouté des choses à quelque part?
Quelqu'un à qui j'ai demandé son avis hier(mais il ne connaissait pas le script) m'a fait ajouter cela
et naturellement le bon chemin pour l'image. Ce que j'ai fait plus haut aussi
Au survol de la souris il n'y a aucun changement. Et pour le reste il ne se passe pas grand chose. J'entends le click mais c'est tout.
Merci
7 janv. 2006 à 00:29
Je viens de telecharger le zip, j'ai lancé le fichier html qui etait dedans tout fonctionne parfaitement, tu es sous quel navigateur ?
6 janv. 2006 à 23:51
J'ai téléchargé ce script et il ne se passe pas grand chose. Au passage de la souris il n'y a rien qui change. L'étoile ne s'allume pas du tout. Je suis débutante et pour nous les débutants on se sait pas quoi faire, quoi ajouter aux bons endroits pour que cela fonctionne. Il serait bien de mentionner ce qui doit être fait ou ajouté. J'ai posté sur le forum en espérant une réponse tout comme ici car j'aimerais bien que cela fonctionne!
Merci
27 sept. 2005 à 19:11
Désole il vous faut javascript pour pouvoir noter
puis tu vides $('note') et tu rajoutes 10 images avec les functions onmouseover & co ;)
27 sept. 2005 à 19:06
Je vais m'occuper de ça !
Pour le xhtml : je vais rajouter des "alt", au moins. Après, ça redeviendra un peu "lourd" si je mets aussi les title.
27 sept. 2005 à 19:03
27 sept. 2005 à 18:54
sinon pour l'agrandissement en CSS non rien de compliqué suffit de modifier les propriété width et height sur l'image :)
27 sept. 2005 à 18:50
alt doit être présent ainsi que title sur les images...
27 sept. 2005 à 18:48
Sinon pour l'effet de grossissement en css, ce serait possible, mais je suis pas d'accord, css sert à la présentation et non au dynamisme. la c'est un cas entre les 2 mais je ferais ca par javascript.
27 sept. 2005 à 18:43
Pour l'effet de grossissement ton idée est intéressante, je vais y réfléchir !
Aussi, je pourrai utiliser l'effet de transparence en plus du rollover (du genre plus le nb d'étoiles augmente, plus elles sont visibles).
Sinon je connais mal le xhtml, ai-je vraiment de balises "alt" si je les attributs dès le chargement (l.23) ?
27 sept. 2005 à 18:31
ce script pourrait être amélioré en faisant un éspèce de grossicement comme sur le menu MACOS, la, ça serait vraiment super!
à part ça, en xhtml, il faut obligatoirement les alt pour les images...
24 sept. 2005 à 22:37
24 sept. 2005 à 22:12
24 sept. 2005 à 20:10
Bon il faudrait idéalement utiliser ta méthode pour "allumer" les bonnes étoiles mais je pense que je vais laisser ça comme ça pour l'instant, je vais d'abord mieux me renseigner sur les "nodes".
Merci de ton aide.
24 sept. 2005 à 19:11
Mais la si les utilisateurs n'ont pas javascript, ils vont se retrouver avec 10images sans images :s donc autant enlever completement les images et faire comme moi mettre un div ou tu rempliras les images.
Aprés pour "allumer" les images, en pseudo code je ferrais
img.onclick = function()
{
var parent = this.parent; // permet d'aller au noeud parent (dans mon cas le div d'id note)
var node = parent.firsChild();
while (node == null) // on parcours tout les noeuds enfant
{
if (node.nodeType == 1) // on verifie que c'est bien un noeud tag
if (node.tagName == 'img') // que c'est bien un noeud img (normalement c'est inutile mais j'aime bien le code trop bien fait et stupide :p)
setOpacity(node, 40); // on change le paramètre alpha.
node = node.nextSibling;
}
}
En gros ca donnerait je pense à peu prés ca :)
Au pire regarde dans le js de ce site (je sais c'est "un peu" le bordel :p)
24 sept. 2005 à 19:00
C'est mieux comme ça ? Comment tu ferais pour "allumer" toutes les étoiles inférieurs sans passer par une fonction Name2Nb comme j'ai fait ?
24 sept. 2005 à 17:36
Je sais plus comment j'ai fait pour le systeme de notation par étoile sur ce site, mais si je me souviens bien, j'ai juste un
ensuite
function SetOpacity(elmt, opacity)
{
if(elmt.style.filter)
{
elmt.style.filter = "alpha(opacity=" + opacity + ");"
}
else
{
elmt.style.setProperty("-moz-opacity", opacity/100, "");
elmt.style.setProperty("-khtml-opacity", opacity/100, "");
elmt.style.setProperty("opacity", opacity/100, "");
}
}
var makeNote = function()
{
var elmt = document.getElementByID('note');
var imgsrc = 'etoile.gif';
for (i = 0; i < 10; i++)
{
var img = new Image();
img.src = imgsrc;
img.alt = 'donner la note de ' + i + '/10';
var _i = i; //pointeur mémoire
elmt.appendChild(img);
img.onclick = setNote(_i)
img.onmouseover = function(){
// pour faire comme le systeme de notation de CS, il faudrais rechercher les images 'inférieurs' un petit peu de code pas trés compliqué est donc necessaire ici :)
SetOpacity(this, 100)};
img.onmousout = function(){
//idem
SetOpacity(this, 40)};
setOpacity(this, 40);
}
}
var setNote = function(note){alert(note)}
window.onload = makeNote;
Je suis pas sur à 100% de mon code, mais il est inutile d'ecrire tes evenements sur toutes les balises img !!! une boucle for peut trés bien faire tout ca :)