Vedlen
Messages postés360Date d'inscriptionmardi 14 octobre 2003StatutMembreDernière intervention 7 septembre 2009 8 sept. 2008 à 10:28
D'ailleurs je viens de me rendre compte que j'ai oublié de mettre à jour http://vedlen.free.fr/fading-cs.html lors de la dernière mise à jour :/ ce que je fais tout de suite
Vedlen
Messages postés360Date d'inscriptionmardi 14 octobre 2003StatutMembreDernière intervention 7 septembre 2009 8 sept. 2008 à 10:26
Tu as une erreur de syntaxe javascript. Mets ça à la place :
[javascript:void(0) Visitez mon portfolio ici]
Tu as oublié le onClick
cosycorner
Messages postés31Date d'inscriptionsamedi 19 novembre 2005StatutMembreDernière intervention18 mai 2009 8 sept. 2008 à 10:22
bonjour;
J'ai utilisé ton script. Merci de partager ta source :)
Mais il ne marche pas avec un lien; je ne sais pas si mon code est mal agencé.
le voici :
[javascript:void(0) Visitez mon portfolio ici]
Ya til une erreur de syntaxe ou le script est-il exclusif ?
Merci
Vedlen
Messages postés360Date d'inscriptionmardi 14 octobre 2003StatutMembreDernière intervention 7 septembre 2009 5 sept. 2008 à 10:45
ah ok je ne savais pas que ça portait ce nom la. Ceci dit les paramètres qui sont passés ne sont que des entiers donc pas de risque de bug.
Pour le namespace, quoi qu'il en soit il faut quand même des variables. Elles sont juste déclarées au sein du namespace ou de fonctions, et non pas en "liberté" dans le code brut. C'est peut être un petit peu plus clean au niveau global, ok, mais bon.
Tout passer en paramètre je crois que ça rend un code encore plus dégueulasse que les variables globales :P
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 5 sept. 2008 à 10:30
mettre une lambda, c'est :
remplacer : setTimeout("GoFading("+ID+","+Sens+")",fad_millisec);
par : setTimeout(function(){ GoFading( ID, Sens) },fad_millisec);
ca te fait un code carement plus propre, et ca t'evite les bugs (dans les cas ou tu veux passer une chaine qui contient ", ta methode peut planter...)
et sinon, tu aurais pu utiliser un namespace, ca t'aurait evite d'avoir des globales (ok c'est un hack pas terrible, mais c'est deja mieux que d'avoir des globales) ou alors, tout passer en parametres.
Vedlen
Messages postés360Date d'inscriptionmardi 14 octobre 2003StatutMembreDernière intervention 7 septembre 2009 5 sept. 2008 à 10:15
"cela ne te coute rien de placer un exemple de l'utilisation."
J'uploaderai un zip avec le fichier HTML lors d'une prochaine màj
"pourquoi ne pas utiliser une fonction ?"
Comment ça ? Qu'est-ce que tu suggères ? Si tu fais allusion à setInterval ça a déjà été discuté ci-dessus, mais j'ai retenu setTimeout en choix personnel (niveau perf c'est équivalent)
"sinon, les variables globales, c'est moche... et tu aurais pu t'en passer."
Non je ne pouvais pas m'en passer car tous les paramètres sont indépendant les uns des autres à chaque appel de la fonction. A la limite utiliser un seul tableau multidimensionnel, mais c'est la misère à coder ensuite vu qu'il y a déjà des tableaux multidimensionnels.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 5 sept. 2008 à 08:57
j'ai rien de particulier a dire sur l'utilite de la source, ou la qualite de l'animation, elle a l'air de bien remplire ses fonctions, j'aimerais juste ajouter deux trois mots sur la qualite du code :
pourquoi ne pas utiliser une fonction ? (une lambda)
sinon, les variables globales, c'est moche... et tu aurais pu t'en passer.
nickadele
Messages postés1251Date d'inscriptionmercredi 7 août 2002StatutModérateurDernière intervention10 avril 2013 4 sept. 2008 à 21:00
Velden, cela ne te coute rien de placer un exemple de l'utilisation.
Dans quelques temps ton lien n'existeras peut-être plus, donc plus de possibilité d'avoir un exemple d'utilisation.
D'avance merci de ta collaboration.
Vedlen
Messages postés360Date d'inscriptionmardi 14 octobre 2003StatutMembreDernière intervention 7 septembre 2009 2 sept. 2008 à 09:54
"Bon on dois pas avoir la meme definition du mot."
Ce que j'appelle générique est la facilité d'intégration du code
"Et bien enplus de tes trois fonction qui aurait pu n'en faire qu une , il y a aussi 8 variables globales donc 8 mot reservé pour ton code, pour une page simple ca pause pas de probleme mais..."
J'aurai pu effectivement concentrer 2 fonctions en 1, mais peut être pas les 3 en une. Le but étant de faire un code clair et non pas une course à la réduction de caractère.
Pour ce qui est des variables globales, rien n'empêche de créer un préfixe pour être sûr d'éviter tout conflit avec du code extérieur.
"De plus a part l'usage du mot clé new devant la fonction je vois pas ce qui a de plus fastidieux dans l utilisation de class"
Voilà, le problème est justement là. Je voulais éviter un déclanchement en 2 temps. En utilisant directement une fonction, pas de déclaration de type à faire.
"Imagine que je veuille faire cette effet (celui que je tes proposé), je devrais refaire un code preque similiare , ou adapter le tien"
Je propose un concept de base qui fonctionne, après ce que tu proposes ça commence à faire partie des cas particuliers. Je mets à disposition un code de base, ensuite c'est à chacun de le faire évoluer pour ses propres besoins. J'évite ainsi tout ce que je considère comme superflu.
"concernant le copié collé, tu n'a donné que la fonction sans exemple, de plus , la copie ici ajoute a chaque ligne des dièse qu il faut supprimer ensuite."
Ton code est le plus générique dans sa catégorie.
Bon on dois pas avoir la meme definition du mot.
Une class aurait été moins pratique a l'usage.
Et bien enplus de tes trois fonction qui aurait pu n'en faire qu une , il y a aussi 8 variables globales donc 8 mot reservé pour ton code, pour une page simple ca pause pas de probleme mais...
deplus a part l'usage du mot clé new devant la fonction je vois pas ce qui a de plus fastidieux dans l utilisation de class
Tros de gadget tue le gadget. Imagine que je veuille faire cette effet (celui que je tes proposé), je devrais refaire un code preque similiare , ou adapter le tien , et le rendre par la meme ocasion plus générique!!
setIntervel possède une fonction pour arrête l'exécution clearInterval().
De plus même si l'effet et le meme je pense avoir compris que tu rechercher d'abord l'efficacité, et ca t'économiserait un appel de fonction. En plus c'est fait pour ca.
concernant le copié collé, tu n'a donné que la fonction sans exemple, de plus , la copie ici ajoute a chaque ligne des dièse qu il faut supprimer ensuite.
bye
Vedlen
Messages postés360Date d'inscriptionmardi 14 octobre 2003StatutMembreDernière intervention 7 septembre 2009 1 sept. 2008 à 22:08
"une source aurait été mieux quand meme."
un zip tu veux dire ? Inutile... Un simple copier/coller suffit.. Ou alors visualiser la source de la page d'exemples.
"Ce qui aurait été bien c'est que toute les lettres ne commence pas en même temps,en récupérant les nœuds texte de l'élément, remplacer les lettres par des spans le tout stocké dans un tableau que tu boucle ensuite."
Trop gadget à mon goût ; trop de gadget tue le gadget :)
"il aurait mieux value faire une class"
c'est sur quoi je m'étais orienté dès le début mais il se trouve que c'était au final moins pratique à utiliser
"Tu utilises setTimeout pour faire le calcule des transitions des couleurs , il existe une fonction plus approprié , setInterval qui appelle une fonction de manière répétée, avec un certain délai fixé entre chaque appel."
Effectivement, mais le timer n'est pas utilisé indéfiniment c'est pour cela que j'ai opté pour un setTimeout (qui opère au final exactement de la même façon de toutes manières).
"Ton script n'est pas assé générique"
je ne vois pas pourquoi tu dis ça, c'est justement le plus générique dans sa catégorie. Après il faut je pense à un moment faire la limite entre le côté sympa et le côté trop gadget.
"je t'invite a télécharger mon script"
je veux bien le voir, mais quelle est l'adresse ou l'ID du code ?
cs_Kimjoa
Messages postés262Date d'inscriptionvendredi 6 mai 2005StatutMembreDernière intervention19 septembre 2014 1 sept. 2008 à 21:57
salut j'ai essayé ton script, ca marche bien, une source aurait été mieux quand meme.
J'ai posté un script d'animation tu peux faire la même chose avec plein d'option. Ce qui aurait été bien c'est que toute les lettres ne commence pas en même temps,en récupérant les nœuds texte de l'élément, remplacer les lettres par des spans le tout stocké dans un tableau que tu boucle ensuite.
Concernant le code au lieux de déclarer des variables globale,il aurait mieux value faire une class surtout que tu poste en initié.
Tu utilises setTimeout pour faire le calcule des transitions des couleurs , il existe une fonction plus approprié , setInterval qui appelle une fonction de manière répétée, avec un certain délai fixé entre chaque appel.
Ton script n'est pas assé générique,je suis d'accord avec XtremDuke pour le rollover.
Tu as le mérite d'avoir posté et c'est deja cool de partagé ton travaille.
je t'invite a télécharger mon script BYE
Vedlen
Messages postés360Date d'inscriptionmardi 14 octobre 2003StatutMembreDernière intervention 7 septembre 2009 1 sept. 2008 à 19:28
"- Tu as deux fonctions (Fading1() et Fading2()) qui sont pratiquement identiques. Je penses que tu peux aisément les fusionner."
C'est vrai j'aurai pu les fusionner, mais je manquais de temps :) ça fera l'objet d'une mise à jour
"- On doit spécifier le nombre d'étapes... Tu peux deviner le nombre d'étapes en fonction de la durée d'animation voulue et le framerate."
Oui c'est vrai que ça pourrait être un peu plus ergonomique, encore une fois je verrai pour une prochaine mise à jour
"- Tu aurais pu ajouter une fonction qui te récupère la couleur actuelle de l'objet ce qui t'aurait permis, en outre, de pouvoir faire des rollover avec ton effet sans que celà affiche des disfonctionnements."
Je n'ai pas prévu de pousser la fonction jusque là, le but premier n'étant pas exclusivement réservé aux liens et à leur rollover. Si certains veulent en faire usage de ce cas là, alors ils peuvent adapter la fonction que je propose à leurs besoins :)
A ce moment là j'aurai pu aussi intégrer les nodes pour une encore meilleure compatibilité. Mais j'ai essayé de faire à la fois efficace, et surtout sans superflu (pour des gains de performance ainsi que de lisibilité).
Merci de tes remarques en tous cas.
XtremDuke
Messages postés626Date d'inscriptionsamedi 28 septembre 2002StatutMembreDernière intervention18 mai 20094 1 sept. 2008 à 18:15
Quelques remarques :
- Tu as deux fonctions (Fading1() et Fading2()) qui sont pratiquement identiques. Je penses que tu peux aisément les fusionner.
- On doit spécifier le nombre d'étapes... Tu peux deviner le nombre d'étapes en fonction de la durée d'animation voulue et le framerate.
- Tu aurais pu ajouter une fonction qui te récupère la couleur actuelle de l'objet ce qui t'aurait permis, en outre, de pouvoir faire des rollover avec ton effet sans que celà affiche des disfonctionnements.
8 sept. 2008 à 10:28
8 sept. 2008 à 10:26
[javascript:void(0) Visitez mon portfolio ici]
Tu as oublié le onClick
8 sept. 2008 à 10:22
J'ai utilisé ton script. Merci de partager ta source :)
Mais il ne marche pas avec un lien; je ne sais pas si mon code est mal agencé.
le voici :
[javascript:void(0) Visitez mon portfolio ici]
Ya til une erreur de syntaxe ou le script est-il exclusif ?
Merci
5 sept. 2008 à 10:45
Pour le namespace, quoi qu'il en soit il faut quand même des variables. Elles sont juste déclarées au sein du namespace ou de fonctions, et non pas en "liberté" dans le code brut. C'est peut être un petit peu plus clean au niveau global, ok, mais bon.
Tout passer en paramètre je crois que ça rend un code encore plus dégueulasse que les variables globales :P
5 sept. 2008 à 10:30
remplacer : setTimeout("GoFading("+ID+","+Sens+")",fad_millisec);
par : setTimeout(function(){ GoFading( ID, Sens) },fad_millisec);
ca te fait un code carement plus propre, et ca t'evite les bugs (dans les cas ou tu veux passer une chaine qui contient ", ta methode peut planter...)
et sinon, tu aurais pu utiliser un namespace, ca t'aurait evite d'avoir des globales (ok c'est un hack pas terrible, mais c'est deja mieux que d'avoir des globales) ou alors, tout passer en parametres.
5 sept. 2008 à 10:15
J'uploaderai un zip avec le fichier HTML lors d'une prochaine màj
"pourquoi ne pas utiliser une fonction ?"
Comment ça ? Qu'est-ce que tu suggères ? Si tu fais allusion à setInterval ça a déjà été discuté ci-dessus, mais j'ai retenu setTimeout en choix personnel (niveau perf c'est équivalent)
"sinon, les variables globales, c'est moche... et tu aurais pu t'en passer."
Non je ne pouvais pas m'en passer car tous les paramètres sont indépendant les uns des autres à chaque appel de la fonction. A la limite utiliser un seul tableau multidimensionnel, mais c'est la misère à coder ensuite vu qu'il y a déjà des tableaux multidimensionnels.
5 sept. 2008 à 08:57
setTimeout("GoFading("+ID+","+Sens+")",fad_millisec);
pourquoi ne pas utiliser une fonction ? (une lambda)
sinon, les variables globales, c'est moche... et tu aurais pu t'en passer.
4 sept. 2008 à 21:00
Dans quelques temps ton lien n'existeras peut-être plus, donc plus de possibilité d'avoir un exemple d'utilisation.
D'avance merci de ta collaboration.
2 sept. 2008 à 09:54
Ce que j'appelle générique est la facilité d'intégration du code
"Et bien enplus de tes trois fonction qui aurait pu n'en faire qu une , il y a aussi 8 variables globales donc 8 mot reservé pour ton code, pour une page simple ca pause pas de probleme mais..."
J'aurai pu effectivement concentrer 2 fonctions en 1, mais peut être pas les 3 en une. Le but étant de faire un code clair et non pas une course à la réduction de caractère.
Pour ce qui est des variables globales, rien n'empêche de créer un préfixe pour être sûr d'éviter tout conflit avec du code extérieur.
"De plus a part l'usage du mot clé new devant la fonction je vois pas ce qui a de plus fastidieux dans l utilisation de class"
Voilà, le problème est justement là. Je voulais éviter un déclanchement en 2 temps. En utilisant directement une fonction, pas de déclaration de type à faire.
"Imagine que je veuille faire cette effet (celui que je tes proposé), je devrais refaire un code preque similiare , ou adapter le tien"
Je propose un concept de base qui fonctionne, après ce que tu proposes ça commence à faire partie des cas particuliers. Je mets à disposition un code de base, ensuite c'est à chacun de le faire évoluer pour ses propres besoins. J'évite ainsi tout ce que je considère comme superflu.
"concernant le copié collé, tu n'a donné que la fonction sans exemple, de plus , la copie ici ajoute a chaque ligne des dièse qu il faut supprimer ensuite."
Non j'ai spécifié à deux reprises un lien d'exemple : http://vedlen.free.fr/fading-cs.html
1 sept. 2008 à 22:33
Ton code est le plus générique dans sa catégorie.
Bon on dois pas avoir la meme definition du mot.
Une class aurait été moins pratique a l'usage.
Et bien enplus de tes trois fonction qui aurait pu n'en faire qu une , il y a aussi 8 variables globales donc 8 mot reservé pour ton code, pour une page simple ca pause pas de probleme mais...
deplus a part l'usage du mot clé new devant la fonction je vois pas ce qui a de plus fastidieux dans l utilisation de class
Tros de gadget tue le gadget. Imagine que je veuille faire cette effet (celui que je tes proposé), je devrais refaire un code preque similiare , ou adapter le tien , et le rendre par la meme ocasion plus générique!!
setIntervel possède une fonction pour arrête l'exécution clearInterval().
De plus même si l'effet et le meme je pense avoir compris que tu rechercher d'abord l'efficacité, et ca t'économiserait un appel de fonction. En plus c'est fait pour ca.
concernant le copié collé, tu n'a donné que la fonction sans exemple, de plus , la copie ici ajoute a chaque ligne des dièse qu il faut supprimer ensuite.
bye
1 sept. 2008 à 22:08
un zip tu veux dire ? Inutile... Un simple copier/coller suffit.. Ou alors visualiser la source de la page d'exemples.
"Ce qui aurait été bien c'est que toute les lettres ne commence pas en même temps,en récupérant les nœuds texte de l'élément, remplacer les lettres par des spans le tout stocké dans un tableau que tu boucle ensuite."
Trop gadget à mon goût ; trop de gadget tue le gadget :)
"il aurait mieux value faire une class"
c'est sur quoi je m'étais orienté dès le début mais il se trouve que c'était au final moins pratique à utiliser
"Tu utilises setTimeout pour faire le calcule des transitions des couleurs , il existe une fonction plus approprié , setInterval qui appelle une fonction de manière répétée, avec un certain délai fixé entre chaque appel."
Effectivement, mais le timer n'est pas utilisé indéfiniment c'est pour cela que j'ai opté pour un setTimeout (qui opère au final exactement de la même façon de toutes manières).
"Ton script n'est pas assé générique"
je ne vois pas pourquoi tu dis ça, c'est justement le plus générique dans sa catégorie. Après il faut je pense à un moment faire la limite entre le côté sympa et le côté trop gadget.
"je t'invite a télécharger mon script"
je veux bien le voir, mais quelle est l'adresse ou l'ID du code ?
1 sept. 2008 à 21:57
J'ai posté un script d'animation tu peux faire la même chose avec plein d'option. Ce qui aurait été bien c'est que toute les lettres ne commence pas en même temps,en récupérant les nœuds texte de l'élément, remplacer les lettres par des spans le tout stocké dans un tableau que tu boucle ensuite.
Concernant le code au lieux de déclarer des variables globale,il aurait mieux value faire une class surtout que tu poste en initié.
Tu utilises setTimeout pour faire le calcule des transitions des couleurs , il existe une fonction plus approprié , setInterval qui appelle une fonction de manière répétée, avec un certain délai fixé entre chaque appel.
Ton script n'est pas assé générique,je suis d'accord avec XtremDuke pour le rollover.
Tu as le mérite d'avoir posté et c'est deja cool de partagé ton travaille.
je t'invite a télécharger mon script BYE
1 sept. 2008 à 19:28
C'est vrai j'aurai pu les fusionner, mais je manquais de temps :) ça fera l'objet d'une mise à jour
"- On doit spécifier le nombre d'étapes... Tu peux deviner le nombre d'étapes en fonction de la durée d'animation voulue et le framerate."
Oui c'est vrai que ça pourrait être un peu plus ergonomique, encore une fois je verrai pour une prochaine mise à jour
"- Tu aurais pu ajouter une fonction qui te récupère la couleur actuelle de l'objet ce qui t'aurait permis, en outre, de pouvoir faire des rollover avec ton effet sans que celà affiche des disfonctionnements."
Je n'ai pas prévu de pousser la fonction jusque là, le but premier n'étant pas exclusivement réservé aux liens et à leur rollover. Si certains veulent en faire usage de ce cas là, alors ils peuvent adapter la fonction que je propose à leurs besoins :)
A ce moment là j'aurai pu aussi intégrer les nodes pour une encore meilleure compatibilité. Mais j'ai essayé de faire à la fois efficace, et surtout sans superflu (pour des gains de performance ainsi que de lisibilité).
Merci de tes remarques en tous cas.
1 sept. 2008 à 18:15
- Tu as deux fonctions (Fading1() et Fading2()) qui sont pratiquement identiques. Je penses que tu peux aisément les fusionner.
- On doit spécifier le nombre d'étapes... Tu peux deviner le nombre d'étapes en fonction de la durée d'animation voulue et le framerate.
- Tu aurais pu ajouter une fonction qui te récupère la couleur actuelle de l'objet ce qui t'aurait permis, en outre, de pouvoir faire des rollover avec ton effet sans que celà affiche des disfonctionnements.