[CREATION] Color Picker (Hermes Picker :o :o) OooO

Color Picker (Hermes Picker :o :o) OooO [CREATION] - PHP - Programmation

Marsh Posté le 12-07-2006 à 12:48:00    

Je vous présente mon nouveau joujou : Un chti color-picker tout bête, mais qui peut rendre service tout de même. :)
 
Spéc :  
 
- JS entièrement externalisé, pas d'appel depuis le code HTML
- Possibilité d'avoir autant de color-picker qu'on veut dans la même page.
- Possibilité de gérer la transparence pour les applications modifiant les CSS par exemple.
- Compatible tout navigateur récent digne de ce nom.
 
Fonctionnement :
 
Le color-picker s'autolance après chargement de la page et examine le code HTML. S'il trouve un id="temoin-color-picker-X" (ou X est un numéro) il s'auto-fabrique et reste tapis dans l'ombre. :o
 
Un Hermes picker a besoin de 3 choses :
 
Un id 'input-color-picker-X'(pour recevoir le résultat en hexa --> obligatoirement un input)
Un id 'temoin-color-picker-X' (pour avoir un témoin de ce qui a été choisi --> obligatoirement une image transparente).
Un id 'emplacement-color-picker-X' (pour savoir où doit apparaître le color picker quand on l'appelle --> Obligatoirement un div).
 
ET c'est tout ! Aucun appel à une fonction JS d'aucune sorte. [:spamafote]
 
 
Note : S'il trouve un id 'check-color-picker-X', il gère la transparence.  :hello:  
 
 
Adresse où voir le bouzou : http://tousleschats.free.fr/hermes [...] icker.html

Reply

Marsh Posté le 12-07-2006 à 12:48:00   

Reply

Marsh Posté le 12-07-2006 à 12:54:45    

Magnifique ! Bravo c'est trés bien fait !


---------------
Créer son forum gratuit |  Mon beau blog phpBB caÿ le mal :o
Reply

Marsh Posté le 12-07-2006 à 12:57:29    

scull a écrit :

Magnifique ! Bravo c'est trés bien fait !


 
Merci. :)

Reply

Marsh Posté le 12-07-2006 à 13:35:32    

pas a dire ça marche super bien :D
 
Par contre 2/3 questions sur le code js, par pur curiosité (c'est pas des critiques, mais vraiment des intérrogations):
- Pourquoi avoir choisi "d'écrire du html" plus que de construire tes noeuds via les fonctions?
- Pourquoi redefinir a chaque fois tous les attributs des styles au lieu d'utiliser des class interchangeables?
- Pourquoi ne pas avoir fait une class colorPicker, instanciée au besoin? Surtout que ton code est déjà très proche de celui d'une classe.
 
Voilou, c'est tout :o  
Sinon je le redis c'est terrib!

Reply

Marsh Posté le 12-07-2006 à 13:51:00    

très bon :jap:


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 12-07-2006 à 13:52:57    

anapajari a écrit :

pas a dire ça marche super bien :D
 
Par contre 2/3 questions sur le code js, par pur curiosité (c'est pas des critiques, mais vraiment des intérrogations):
- Pourquoi avoir choisi "d'écrire du html" plus que de construire tes noeuds via les fonctions?


 
Très bonne question. C'est évidemment ce que j'ai commencé à faire au début. Mais ce con d'IE me fout SYSTEMATIQUEMENT les input à droite d'un bloc conteneur avec ce système. Seul IE fait ça (peut être que la version 7 corrige ça). [:spamafote]
De plus, mine de rien, ce color-picker comprend bcp d'éléments. Mais je n'exclue pas de passer plus de temps sur le code pour tenter de tout comprendre.  
 

Citation :

- Pourquoi redefinir a chaque fois tous les attributs des styles au lieu d'utiliser des class interchangeables?
- Pourquoi ne pas avoir fait une class colorPicker, instanciée au besoin? Surtout que ton code est déjà très proche de celui d'une classe.


 
Parce que j'ai tout fait à l'arrache.  :D  
 
Je reprendrai le code tranquillou prochainement. ;)

Message cité 1 fois
Message édité par Hermes le Messager le 12-07-2006 à 13:53:18
Reply

Marsh Posté le 12-07-2006 à 14:44:28    

Toutes ces explications se valent :D
 

Hermes le Messager a écrit :

Mais ce con d'IE me fout SYSTEMATIQUEMENT les input à droite d'un bloc conteneur avec ce système. Seul IE fait ça (peut être que la version 7 corrige ça). [:spamafote]


Si tu fais un appendChild, le noeud ajouté sera toujours le "dernier" du conteneur.
Si tu as besoin de le mettre ailleurs tu peux de servir de insertBefore:

Code :
  1. Set Objet_Node = Objet_Node.insertBefore(Nouvel_Enfant, Référence)
  2. insère un noeud enfant à la gauche du noeud spécifié ou à la fin de la liste.


Reply

Marsh Posté le 12-07-2006 à 15:50:59    

anapajari a écrit :


Code :
  1. Set Objet_Node = Objet_Node.insertBefore(Nouvel_Enfant, Référence)
  2. insère un noeud enfant à la gauche du noeud spécifié ou à la fin de la liste.



 
Merci bcp, :) je vais essayer ça et éventuellement reprendre toute la partie de génération du color-picker. ;)

Reply

Marsh Posté le 12-07-2006 à 16:11:39    

Très sympa, vraiment très sympa.

Reply

Marsh Posté le 12-07-2006 à 16:35:41    

[:alphat] il est à moi il est à moi personne n'y j'y posetoute mes options dessus.
je le veux que pour moi ! Coupe tes source vite vite  :pt1cable: j'achete  [:negueu]
Je vais vite de ce pas poser un brevet [:azylum]

Message cité 1 fois
Message édité par Berceker United le 12-07-2006 à 16:37:06
Reply

Marsh Posté le 12-07-2006 à 16:35:41   

Reply

Marsh Posté le 12-07-2006 à 17:39:53    

Berceker United a écrit :

[:alphat] il est à moi il est à moi personne n'y j'y posetoute mes options dessus.
je le veux que pour moi ! Coupe tes source vite vite  :pt1cable: j'achete  [:negueu]
Je vais vite de ce pas poser un brevet [:azylum]


 
[:dawa]

Reply

Marsh Posté le 12-07-2006 à 18:56:41    


Pas mal, mais y'a quelques bugs :
 
- si tu met le color picker a la droite de ta page, il va s'ouvrir encore plus à droite et provoquer un scroll, ce serait bien qu'il sache quand il va dépasser.
- parfois ca détecte pas mon lacher de souris et donc le slider continue à bouger alors que je clique plus.
 
Sinon c'est pas un bug, mais ce serait bien agréable de pouvoir cliquer sur la barre des sliders pour positionner directement le bouton a cet endroit plutot que devoir viser dessus puis le déplacer.


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 12-07-2006 à 19:03:24    

Merci pour le retour déjà ;) (la version est en beta, elle n'est pas terminée ;) )
 

Citation :

- si tu met le color picker a la droite de ta page, il va s'ouvrir encore plus à droite et provoquer un scroll, ce serait bien qu'il sache quand il va dépasser.


 
Haha, effectivement, j'ai pas prévu le coup, c'est très facile à implémenter, je vais le faire...
 

Citation :

- parfois ca détecte pas mon lacher de souris et donc le slider continue à bouger alors que je clique plus.


 
Oui, j'imagine que tu as firefox. Je suis désolé, mais malheureusement, il semble qu'il n'y ai aucune solution pour ce problème. C'est un bug internet à firefox qui oublie les z-index quand tu bouges la souris et capte ce qui se trouve en dessous. [:spamafote] Heureusement, mon script est quand même pas mal, puisque tu peux continuer à bouger et si tu cliques, ça va arrêter le truc. ;)  
Cependant, si tu as une solution au problème...  :whistle:  

Citation :


Sinon c'est pas un bug, mais ce serait bien agréable de pouvoir cliquer sur la barre des sliders pour positionner directement le bouton a cet endroit plutot que devoir viser dessus puis le déplacer.


 
Oui, j'y avais pensé. Je n'ai pas encore pris de décision là dessus.

Reply

Marsh Posté le 12-07-2006 à 19:43:38    

Rha ben avec la nouveautée conçernant l'ouverture en fonction de la position, je vais attendre avant de l'implenter sur mon site ;)


---------------
Créer son forum gratuit |  Mon beau blog phpBB caÿ le mal :o
Reply

Marsh Posté le 13-07-2006 à 01:29:01    

scull a écrit :

Rha ben avec la nouveautée conçernant l'ouverture en fonction de la position, je vais attendre avant de l'implenter sur mon site ;)


 
Ben en fait, je sais pas trop quoi faire... Je peux bien sûr décaler l'apparition du color-picker en fonction du div parent qui l'abrite, mais je rappelle que ce div parent (relisez mon message du début) vous appartient. En clair, vous pouvez d'hors et déjà positionner le color picker où bon vous semble. ;)

Reply

Marsh Posté le 13-07-2006 à 01:51:58    

Plutot que de spécifier une zone ou il apparait, tu peut pas le créer en absolut positionné la ou il faut ?


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 13-07-2006 à 07:33:09    

0x90 a écrit :

Plutot que de spécifier une zone ou il apparait, tu peut pas le créer en absolut positionné la ou il faut ?


 
Tu veux dire le positionner en absolute par rapport à l'image témoin ? Ouai, si c'est surement possible... je vais voir ça... Il est même possible de créer l'image de toutes pièces et de ne garder en dur (en HTML) donc que l'input et le checkbox (quand nécessaire).

Reply

Marsh Posté le 13-07-2006 à 08:49:58    

comment ça marche ce bordel, tout ce que j'ai c'est 3 onglets pour choisir les couleurs, mais après j'en fais quoi [:petrus dei]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 13-07-2006 à 09:10:24    

Harkonnen a écrit :

comment ça marche ce bordel, tout ce que j'ai c'est 3 onglets pour choisir les couleurs, mais après j'en fais quoi [:petrus dei]


 
Ben tu choisis ta couleur et tu cliques sur valider. [:spamafote] La couleur hexa s'affiche alors dans le input.
 
ça permet de sélectionner des couleurs dans le cadre par exemple d'une interface d'admin.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed