lkm
Messages postés43Date d'inscriptionvendredi 28 mai 2004StatutMembreDernière intervention23 novembre 2007
-
27 sept. 2005 à 14:55
lkm
Messages postés43Date d'inscriptionvendredi 28 mai 2004StatutMembreDernière intervention23 novembre 2007
-
28 sept. 2005 à 15:04
Bonjour a tous,
Je suis entrain de me faire un petit système de notation en php. Coté php pas de soucis tout fonctionne mais j'ai envie de me faire un truc joli. En fait j'aimerai faire la même chose qu'on trouve sur les sites de la communauté Code-Source, c'est à dire la liste d'étoiles que lorsque l'on passe la souris dessus, les étoiles précédentes deviennent moins transparentes.
Pour cela j'ai réalisé un petit script qui me rend les images moins transparentes au survol de la souris, puis l'opération inverse lorsque la souris s'en va.
Voici ce que ça donne:
function transparence_dessus(var1){
effet=setInterval("effet2(var1)",60);
}
function transparence_pasdessus(var1){
clearInterval(effet);
var1.filters.alpha.opacity=60;
}
function effet2(var2){
if (var2.filters.alpha.opacity<120)
var2.filters.alpha.opacity+=10;
else if (window.effet)
clearInterval(effet);
}
alors ça unitairement avec un petit mouseover et mouseout sur l'image ça marche parfaitement: la transparence de l'étoile survolée diminue ou augmente lorsque le pointeur de souris part (bien sur il faut pour cela initialiser a la base la transparence).
Bon après ça je me suis dit "c'est gagné" il suffit de le faire pour les étoiles précédentes en récupérant les ID des ces images. Et là horreur ça ne marche pas et ça fait plusieurs heures que je galère dessus. Mon problème ne vient pas de la récupération des ID des images ou quoique ce soit non!! Pour en avoir le coeur net j'ai tapé cette fonction:
function groupe_dessus(){
transparence_dessus(document.getElementById("etoile_1"));
transparence_dessus(document.getElementById("etoile_2"));
transparence_dessus(document.getElementById("etoile_3"));
}
elle est lancée lors d'un mouseover d'une des images et quesqui se passe? je vous le donne dans le mille, seulement l'étoile 3 qui a pour ID etoile_3 à sa transparence qui diminue.
J'ai fait beaucoup de tests, d'essais et de recherche, je me suis lancé dans la voie des setTimeout sans grand succès. Si quelqu'un à une idée merci de m'aider, là je craque.
lkm
Messages postés43Date d'inscriptionvendredi 28 mai 2004StatutMembreDernière intervention23 novembre 2007 28 sept. 2005 à 15:04
Désolès Scraat je n'avais pas trouvé ta source lors de mes recherches.
Je n'avais pas fait attention non plus au fait que je ne voulais pas faire exactement comme le système de notation sur ce site.
En effet pour rendre encore plus joli le truc je voulais ajouter un effet d'alpha (transparence) sur les étoiles.
Merci à jesusonline pour sa précision sur setInterval. (le setInterval sert à donner l'effet de transparence qui diminue ou augmente au fur et a mesure)
Bref, en faisant des recherches j'ai trouvé un script qui m'a permit d'enchainer les effets de transparence qui augmente ou diminue au fur et a mesure.
Grace a ça et à un peu de prog, j'ai lorsque je sélectionne par exemple la 5e étoile les 4 précédentes puis la cinquième qui ont la transparence qui diminue au fur et à mesure (elles deviennent donc + visible).
A l'inverse elles disparaissent au fur et a mesure lorsque j'enlève la souris.
Il y a encore quelques bugs qu'il faut que je résolve mais c'est très sympa à regarder.
Je déposerai une source prochainement de ce script a condition que l'auteur du script de transparence soit daccord.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 27 sept. 2005 à 16:02
Bonjour,
>>je vous le donne dans le mille, seulement l'étoile 3
>>qui a pour ID etoile_3 à sa transparence qui diminue.
ou qui augmente non ?
quand on passe sur l'étoile 'n' ou lorsqu'on la quitte
il faut toucher aux images de '0' à 'n-1'.
Cordialement. Bul.
Site
lkm
Messages postés43Date d'inscriptionvendredi 28 mai 2004StatutMembreDernière intervention23 novembre 2007 27 sept. 2005 à 16:22
C'est seulement l'etoile qui a pour ID etoile_3 qui devient plus visible que les autres.
Comme tu l'as peut etre compris et de façon générale lorsque je survole l'etoile n j'aimerai que celle-ci mais également le n-1 ieme etoiles précédentes deviennent plus visibles que les n+1 ième étoiles qui suivent la n<SUP>eme.
</SUP>D'une manière plus simple si tu veux voir l'effet que je recherche selectionne une source quelconque sur ce site et regarde le système de notation de la source.
Donc pour terminer mon problème c'est que lorsque j'essai de toucher au n-1ieme puis pour finir la nieme seulement la nieme est modifiée.
Scraat
Messages postés51Date d'inscriptiondimanche 14 mars 2004StatutMembreDernière intervention 4 décembre 2012 27 sept. 2005 à 18:39
Salut,
J'ai fait il y a qqs jours un scripts qui s'appelle
SYSTEME DE NOTATION PAR ETOILES...en position 2 sur la liste des
scripts les plus récents...je pense que tu pourrais y jeter un coup
d'oeil non ?
Je n'utilise pas la transparence des images mais je fais un rollover (changement d'img). Mais le principe reste le même !
Sinon je ne comprend pas pourquoi tu utilises un setInterval dans ton code...
Cordialement, Scrat
Vous n’avez pas trouvé la réponse que vous recherchez ?
et pour ton problème comme le sous entend scraat encore, tu utilises un setInterval ...
ce qui veut dire, que quand tu fais ca :
transparence_dessus(document.getElementById("etoile_1"));
transparence_dessus(document.getElementById("etoile_2"));
transparence_dessus(document.getElementById("etoile_3"));
ton code va faire ca
0ms : transparence_dessus(document.getElementById("etoile_1"));
0ms : effet=setInterval("effet2(var1)",60); ==> ok dans 60ms je vais executer ca
etc.... pour les 3 fonctions tu demande d'effectuer ta fonction dans 60ms ta fonction est seulement
effet2(var1) et pour lui var1 vaut etoile3 ce qui est normal ...
donc supprime le setInterval car je n'en vois pas trop l'utilité ...