XSTYLE : STYLE ETENDU

cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009 - 18 mai 2008 à 22:41
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014 - 26 févr. 2009 à 23:35
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/46700-xstyle-style-etendu

cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
26 févr. 2009 à 23:35
ok merci!
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
26 févr. 2009 à 22:35
nux tiens compte de min/maj dans les nom de fichier...
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
26 févr. 2009 à 22:21
je ne bosse plus trop web en ce moment (en pro)
pour ton projet d'interface button (je n'ai pas encore regarder de pres) mais je pense que le projet xstyl est assez bien adapter...
tu pourrais par exemple cree un style :

xs.arrondi="....";
...

...

bon... mais je pense qu'on devrait continuer par email ;-)
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
26 févr. 2009 à 22:03
les testes pas sous linux , y'a un problème avec les nom de dossier, je sais pas pk ,mais il aime pas les fichier nommé Interface et kernel ... bizarre .
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
26 févr. 2009 à 21:53
ok foxz, je suis en train de faire ma librairie ki s'intitulera id.js , pour interface dynamique , le module dynamic est preske fini je le sortirait demain ou dans 2 jours, pour ce qui est d'interface j'ai encore pas mal de taff. Si ça intéresse , je peux te passer les sources, enfin pas tout de suite car faut que je refasse la base. En faite si j'ai fait class.js et kernel.js c'était pour cette librairie .
J'ai posté deux module d'interface http://www.javascriptfr.com/codes/INTERFACE-BUTTON-2EME-ELEMENT-LIBRAIRIE-INTERFACE_49014.aspx et http://javascriptfr.com/codes/INTERFACE-CAPSULE-BOITES-ARRONDIS-1ER-ELEMENTS-BIBLIOTHEQUE-INTERFACE_48968.aspx , si tu veux voire à peux près le fonctionnement, mais vais le refaire aussi :).

Si tu as un projet autre que l'on pourrais faire ensemble , je suis ouvert à toute proposition ...

a++
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
26 févr. 2009 à 20:38
giganews : toutes mes excuses... le net est rempli de pollueur...
ton message m'a semblé decalé... j'ai donc pensé à de la pub, pour la pub. (genre : je pretexte l'utilisation de la lib pour mettre le projet xoops, mais en fait je n'utilise pas du tout la lib...)

lakichemole : la pub ne me gene pas en soit, je vend du rhino à tout vas (zut encore une fois) ce qui me gene c'est la pollution...

kimjoa : si tu veux on reflechi à une lib commune...
gigamaster Messages postés 13 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 15 juin 2009
26 févr. 2009 à 20:16
@lakichemole
pavé pavimento italiano ^^'

Merci
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
26 févr. 2009 à 19:34
oui , foxz , c'est bien moi l'auteur ;) , des 2 ...

je savais pas pour les constructeurs ...

a++
lakichemole Messages postés 253 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 18 mai 2009
26 févr. 2009 à 18:01
"pavimenté" je connaissais pas :) Je connaissais pas le CMS XOOPS il a l'air pas mal :) Et je pense que la pub pour de l'open source ne peut pas faire de mal?
gigamaster Messages postés 13 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 15 juin 2009
26 févr. 2009 à 17:11
@FOXZ

Hummm... Je peux comprendre ta peur de l'inconnu ^^

Le seul souci de faire savoir où serait utilisé ta
contribution pose problème..

Pourtant le partage de savoirs, les contributions
dans son temps libre sont bien le propre de l'esprit
open source. Et sans faire davantage de pub, il n'y
en a pas, c'est un des environnements des plus "clean"

Dit le proverbe :
"L'enfer est pavimenté de bonnes intentions"
Et personne ne sait où conduit le chemin.
Un simple clique aurait suffit a vérifier.

Merci tout de même du partage (^^)
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
26 févr. 2009 à 16:00
http://www.javascriptfr.com/codes/KERNEL-JS-HERITAGE-MULTIPLE-POLYMORPHISME_48948.aspx...

euh... je me suis inspiré de cette lib pour faire mon class.js
d'ailleur je mentionne son nom dans le source...

A vrai dire je pensais que tu (kimjoa) etais l'autre de cette lib :-))
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
26 févr. 2009 à 15:49
d'une maniere generale on n'override jamais un constructor en cas de multiclass...
donc il faut appeler les constructor de maniere directe :

var u=$class(
{
constructor:function(){t.prototype.constructor(param);
}, t);

en c++ les constructor multiclass sont appeler automatiquement SI il ne possede pas de parametre...
mais comme on ne peux pas le savoir en JS...

je jete un coup d'oeil sur ton url la :-))

choix : choisie celle que tu trouve le plus élégante.

Giganews : j'ai la vague impression que tu fais de la pub.
je te signale au 6op... si tu etais de bonne foi je te prie de me pardonner...
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
26 févr. 2009 à 01:18
salut foxz j'ai testé class.js et j'ai kelke remarque.

tu as dut oublier de 'binder' les appels au fonction , pour ça j'ai ajouter
var ovr=function(){
...
inh.instance=this;
...
}
et

function inh(){inh.current.apply(inh.instance,arguments);}

sinon y'a un problème avec l'appel des constructeurs , en effets le mot constructor est réservé en js , du coups quand on boucle sur un prototype on retrouve pas se mot, pour ça j ai rajouté dans t'as boucle d'arguments:

klass.prototype.constructor=_papa.prototype.constructor;

conernant le polymorphisme j'ai créé cette fonction simple

function instanceOf(source,cible){
var superclass=typeof source=='function'?
source.prototype.constructor.superclass
:source.constructor.superclass;
for(var i=0,length=superclass.length;i<length;i++){
if(superclass[i]==cible || instanceOf(superclass[i],cible))
return true;
}
return false;
}

et a la fin de $class klass.prototype.constructor.superclass=Array.prototype.slice.call(arguments,1);

voilà , bon du coup je sais plus lequel choisir comme script d'heritage :) , sinon j'ai fait un autre script mais plus orienté vers l'héritage d'instance, ->
http://www.javascriptfr.com/codes/KERNEL-JS-HERITAGE-MULTIPLE-POLYMORPHISME_48948.aspx si tu y a pas déjà été ;)

a++
gigamaster Messages postés 13 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 15 juin 2009
25 févr. 2009 à 17:32
Merci! J'attends avec impatience de pouvoir tester ces nouvelles possibilités avec le CMS XOOPS Cube Legacy ^^
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
25 févr. 2009 à 01:44
class.js va remplacer fobj.js
fthrd.js est en reecriture
et ceees a chopper une rhinomozillate :-)
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
28 janv. 2009 à 00:02
Merci pour la note :-))
... j'ai fixé le bug sous IE... nouvelle version d'ici peu...
gigamaster Messages postés 13 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 15 juin 2009
27 janv. 2009 à 12:38
Très intéressant ^^
lakichemole Messages postés 253 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 18 mai 2009
11 déc. 2008 à 15:00
Marche pas sous IE6 à priori ? Voilà mon code de page (index.html dans le même dossier que les .js, pas de problème sous FF):
<html>


<script src="Xs.js"></script>

<script>
xs.decml=function(c,p){
c.innerHTML=c.innerHTML.replace(/[$]|[§]/ig,"@");
c.innerHTML=c.innerHTML.replace(/[+]|[#]/ig,".");
}
xs.ml=function(c,p){
var r=c.innerHTML;
c.innerHTML=""+r; // merci de verifier cette ligne
};

xs.email="decml;ml;b";

</script>
totor$tata+fr

<script>
xsiz();
</script>


</html>
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
11 déc. 2008 à 11:51
Ce qui est amusant c'est que je suis en train d'utiliser XS pour un projet professionnel...
donc je l'améliore au fil...
Annadrill Messages postés 147 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 22 novembre 2012
11 déc. 2008 à 09:37
oui oui, mdr, bon pas depuis un petit moment parce que les fêtes c'est surtout sinonyme de boulot.... mais je m'y remettrai ;-)

salut
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
10 déc. 2008 à 13:12
Je bosse sur un projet concurrent à XS.
Il s'agit d'un builder entièrement en js qui permet d'editer les pages directement (sous FF).
A priori XS restera en l'etat.

merci à free qui m'a effacé mon espace web sans raison
CeeeS Messages postés 7 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 21 juin 2008
21 juin 2008 à 23:09
La par exemple ;-)
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
21 juin 2008 à 17:47
Beh c'est difficile d'être constructif
CeeeS Messages postés 7 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 21 juin 2008
21 juin 2008 à 15:07
je sens notre lakichemole un peu amere.
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
20 juin 2008 à 21:24
lakichemole: il y a aucun volonté de ma part de cacher quoi que ce soit du fonctionnement.
mmmrrhhh... bon je révérai à commenter le code à l'occasion de la prochaine refonte

annadrill : as-tu essaye de joueur un peu avec ?
pour la demo : faudra etre patient les vacances approchent...
Annadrill Messages postés 147 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 22 novembre 2012
20 juin 2008 à 17:26
Je comprends ;-)
lakichemole Messages postés 253 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 18 mai 2009
20 juin 2008 à 16:49
Oui désolé je me suis emballé
Annadrill Messages postés 147 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 22 novembre 2012
20 juin 2008 à 16:47
LAKICHEMOLE: on est pas tous des pros, alors cela fait plaisir lorsqu'on a un peu d'aide pour avancer... ;-)

FOXZ: j'attends la démo alors, merci
lakichemole Messages postés 253 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 18 mai 2009
20 juin 2008 à 09:14
Mais non pourquoi des explication ça sert a rien, le but c'est que ça wizz et qu'on le développe dans son coin tout seul vive le closed source!
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
19 juin 2008 à 23:08
Je pense plutôt faire une demo dans un HTML à part.
Il y a deja pas mal d'explication plus haut...
bon, je suis charette en ce moment...
Annadrill Messages postés 147 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 22 novembre 2012
19 juin 2008 à 22:41
Hello,
ce serait super s'il était possible d'ajouter des explications et exemples directement dans les sources.
sinon c'est gandiose.

salut
CeeeS Messages postés 7 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 21 juin 2008
18 juin 2008 à 20:06
Le projet est en sommeil pour le moment.
On bosse un peu sur jslibs.
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
17 juin 2008 à 10:41
On bosse en silence..
cs_MrYo Messages postés 3 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 15 juin 2008
15 juin 2008 à 21:01
Zetes mort ?
CeeeS Messages postés 7 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 21 juin 2008
11 juin 2008 à 18:14
Dans la famille tordu je voudrais fobj.js
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
10 juin 2008 à 18:17
avec un peu de difficulté...
j'ai remis les sources a jour et j'ai rajouté des libs supplémentaire.
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
10 juin 2008 à 18:00
Bonne idée.
CeeeS Messages postés 7 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 21 juin 2008
10 juin 2008 à 13:08
pe faire un mixte avec une balise xs special pour sous-scanne :
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
10 juin 2008 à 07:27
ca ne marche pas encore sous FF 2.04.
je ne sais pas sous IE.
CeeeS Messages postés 7 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 21 juin 2008
8 juin 2008 à 01:53
et en passant par getElementsByClassName ???
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
6 juin 2008 à 07:52
Mryo : tritable.html est une demo de xs.triable.
<table><tbody><th xs="triable">1<th>2 etc...
le xstyle triable rajout un "marker" si on clique sur le marqueur le tableau se trie.
je ferais une explication plus exhaustive plus tard.

Lakichemole : oui, ca peut etre chiant pour l'utilisation des forms...
xsiz() scannera tout le DOM
xsizname() scannera que les names "xs"
modif ce we
lakichemole Messages postés 253 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 18 mai 2009
5 juin 2008 à 15:39
Utilisé la balise name implique qu'on ne l'utilise pas dans le site c'est moins lourd c'est sur mais c'est super contraignant, celui qui a déjà un site de fait va galérer si il utilise la balise name :/
cs_MrYo Messages postés 3 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 15 juin 2008
5 juin 2008 à 15:19
ca fai koi triable.html sur ton site ?
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
4 juin 2008 à 00:54
Ceees : Bonne idée.
je fais un fork xsizname

multi-tri : est-ce vraiment utile ?
fthrd : à tester sous IE...

Bonne Nouvelle : xs.triable est retabli...
je propose de faire une release sans multi-tri et de le poster ici.
CeeeS Messages postés 7 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 21 juin 2008
3 juin 2008 à 22:12
voui, voui...
donc mon idee est de passer par getElementsByName pour accelerer les XS.
ca donnerait un truc comme

ainsi on ne scan pas tout le DOM.

bon, je me colle le beta test de xs.triable...
je suis pas sur que le "fthrd" soit vraiment utile.
il faudrait ainsi pouvoir multi-trier

lakichemole: Meuh ! :-)

syl
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
3 juin 2008 à 17:35
Annadrill : j'ai peur que ca alourdisse encore + le forum :-)
bon, de toute manière j'ai un plantage assez chiant (je ne le comprend pas en gros :-))
sur xs.triable

Mryo : c'est à dire ?

Mon pote CeeeS vas nous rejoindre sur le forum (pour que tout le monde en profite) car il a de bonne idee...
cs_MrYo Messages postés 3 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 15 juin 2008
3 juin 2008 à 16:26
WIiii c genial comme truc !!!

encore ! encore !

jm'inscrit rien que pour suivre le truc.
Annadrill Messages postés 147 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 22 novembre 2012
3 juin 2008 à 09:56
Je me dis que tu peux l'ajouter ici, mais peut importe ce que tu fais, je dois rester au courant... ;-))
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
3 juin 2008 à 05:50
xs.triable est sur le point d'etre fini.
j'ouvre un source à part ou je l'ajout au source ici ?
sachant que 2 autres libs assez complex font leurs apparitions.
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
29 mai 2008 à 03:22
Bon à la fois ne code n'est pas vraiment difficile à comprendre...
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
29 mai 2008 à 01:50
cqfd
lakichemole Messages postés 253 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 18 mai 2009
28 mai 2008 à 09:32
Bien évidement que je m'arrête à la forme et c'est bien dommage car le fond paraissait bon!
Car pour aller au fond des chose j'ai besoin de bien comprendre se que je fait et que se soit claire je ne vais pas utiliser un code que je ne maitrise pas mais libre aux autre de l'utiliser!
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
27 mai 2008 à 23:55
Lakichemole : ??? il y a confusion sur la signification du mot "wizzz".
et je ne "obfusce" pas mon code.
je m'interesse au fond + qu'a la forme (comme en poesie)
XS aura la vie qu'il aura dans l'etat dans lequel il est.
libre à toi (et aux autres) de s'arreter à la forme...
Annadrill Messages postés 147 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 22 novembre 2012
27 mai 2008 à 15:21
surement mais je répond quand même hihi
lakichemole Messages postés 253 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 18 mai 2009
27 mai 2008 à 14:41
Je parlais a FOXZ hein?!
Annadrill Messages postés 147 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 22 novembre 2012
27 mai 2008 à 14:38
[...]

Merci bien,
et vive l'évolution
lakichemole Messages postés 253 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 18 mai 2009
27 mai 2008 à 14:07
C'est marrant car tu vois avec un code claire et un obfuscateur (pour que ça "wiizz") tu n'aurais pas eu besoin de tous ces renseignements/aide et les gens auraient compris d'eux même ils aurait eu envie de participer a ton code de le faire vivre... bref les conceptes du web 2.0!
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
27 mai 2008 à 12:53
Ah ok.

dans XS il y a aussi des fonctions (par defaut)

_____
xs.js = declaration en object pour js (FF) c'est l'equivalent d'un ID et d'une declaration explicite.

____
xs.mg = declaration de marge avec repetition des arguments
xs="mg:5" donne une declaration de marge telque padding 5px 5px 5px 5px
xs="mg:1,5" donne une declaration de marge telque padding 1px 5px 1px 5px

____
xs.css = declaration d'un classname

____
voici les alias :

xs.bk="!backgroundColor";
xs.vs="!visibility:show";
xs.vh="!visibility:hidden";
xs.u="!textdecoration:underline"
xs.b="!fontWeight:bold"
xs.fs="!fontSize";
xs.z="!zIndex";
xs.fc="!color";
xs.of="!overflow:auto";
xs.ctr="!textAlign:center";
xs.rgt="!textAlign:right";
xs.lft="!textAlign:left";
xs.w="!width";
xs.h="!height";

xs="fs:5px" donnera un style fontSize:5px
c'est juste moins chiant à ecrire.

etc
Annadrill Messages postés 147 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 22 novembre 2012
25 mai 2008 à 18:50
je faisais juste réf à ta phrase :
j'expliquerais les autres fonctions plus tard...
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
25 mai 2008 à 14:14
annadrill : euh. le but c'est que tu invente tes propres fonctions :-)))
par exemple, je bosse sur un xs qui permet de rendre un tableau triable (de maniere non bloquante : c'est à que le tri n'empêche pas de scroller ou de remplir un input etc)

on peut voir un exemple sur http://foxz.free.fr/tritable.html
(je bosse actuellement dessus donc si ca plante c normal :-))
Annadrill Messages postés 147 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 22 novembre 2012
25 mai 2008 à 11:43
rien que pour le coté inventif et pour faire pancher la balance, je mets une note
Annadrill Messages postés 147 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 22 novembre 2012
25 mai 2008 à 11:17
Super, déjà merci pour cette réponse, je reviendrai pour les prochaines fonctions;-)
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
24 mai 2008 à 23:51
pour cree une fonction :

xs.nom_de_la_fonction=function(c,p){...}
"c" etant l'object et "p" etant les parametres.

par exemple :

xs.truc=function(c,p){...}
...

...
xsiz();

Donc lors de l'execution des xs : truc sera appelé avec c=
et p="coucou"

xsmoz.js declare des xstyles compatible FF

------
bdr: pour declarer un border

brd:size (par defaut 1px),type (par defaut solid),color (par defaut black)

ex:
bdr:,,red donnera un border:1px solid red

------
pa: pour declarer une position absolue les parametres doivent etre comme
pa:x,y,largeur,longeur
par ex: pa:0,0,10,10

------
al: style en cours de developpement
permettra d'aligner un DIV sur un autre DIV

------
bkop: declare un background transparent les parametres doivent etre comme
bkop:color,opacité%
ex : bkop:red,80

normalement changé l'opacité d'un
(ou autre) rend egalement le contenu transparent.
bkop: ne rend QUE le background transparent. le contenue lui ne le sera pas

ma solution miracle est simplement de "cloner" le div et de mettre le clone en Z inférieur.
deplacer le
ne deplacera pas le clone. mais je bosserais pour amelioré tout ca.

------
op: declare l'opacité parametre op:opacité%
le but de cette function est uniquement d'uniformisé la declaration d'un op entre IE et FF
par ex
op:80
------

sous FF et opera (merci de verifer sous IE)

test css

test css

les 2 div ne se recouvrent pas (à cause du border)

en xs

les 2 div se recouvrent.

pour moi le positionnement ne doit pas tenir compte du border.
donc le fonction "pa" et "bdr" on été modifier à cet effet.

-----
j'utilise qq fonction de la lib utils.js dans les xs.
val(v) retourne la valeur numerique d'une chaine
comme parseInt sauf que val return 0 si la chaine ne contient pas de valeur num

j'expliquerais les autres fonctions plus tard...
Annadrill Messages postés 147 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 22 novembre 2012
24 mai 2008 à 16:03
Hi, c'est surtout au niveau de la création des fonction que je pèche un peu,
si t'aurai un ou deux exemple, et j'ai pas compris à quoi sert le fichier XsMoz et Utils, mais une fois que je saurai tout ca, je sens qu'on pourra bien s'amuser...
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
24 mai 2008 à 05:26
tuto... euh, il y a quelque exemple plus haut.
pense tu que je devrais en rajouter avec les sources ?
dis moi ce que tu ne comprend pas je t'expliquerais :-)))

ps
5:25 nan... c pas à l'heure à laquel je me reveil :-))
Annadrill Messages postés 147 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 22 novembre 2012
23 mai 2008 à 22:26
Très intéressant comme source!
un tuto ?
lakichemole Messages postés 253 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 18 mai 2009
23 mai 2008 à 10:34
lol ok à ce moment là je sort ma phrase fétiche qui rythme ma vie:
"La vie n'est qu'une question de priorité" :)
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
23 mai 2008 à 10:02
c'est fou ce que l'on deviens philosophe :-))
lakichemole Messages postés 253 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 18 mai 2009
23 mai 2008 à 09:09
Chacun son truc :)
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
22 mai 2008 à 22:11
perso je ne support pas le XML, j'trouve ca moche... j'y peux rien.
je prefere le json et de loin !

quand tu as des pages hébergés chez un mutualisateur (style ovh ou free)
t'es bien contant de justement pas à avoir à sollicité du cpu server DU TOUT !

dans l'avenir
je pense que même certaine requête seront exécuté en locale.
par exemple, l'ensemble d'un catalogue sera dl par XHR (en json ?)
puis des moulinettes tournerons pour mettre tout ca en place.
les filtres, les tri etc seront effectué en locale.

j'écris pas mal de lib dans cette optique.

sm ne demande pas d'avoir un ; apres un }.
c plus compréhensible d'écrire a=a+1 que a++
il faut verifier la norme pour voir.
lakichemole Messages postés 253 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 18 mai 2009
22 mai 2008 à 17:36
Tout à fait d'accord la mode et de faire devenir les client légé d'hier en client semi lourd aujourd'hui.
Mais la mode du web c'est aussi la mode c'est la programmation par block/composant et avec un maximum de configuration par xml.
Le but étant de rendre plus facile la maintenance. L'époque des langage inaccessible et ultrapropriétaire. Aucune gros boite d'info ne veut que si un gars se casse personne ne puisse réutiliser se qu'il a fait!
Et surtout pour faire "wiizer" les appli on utilise des obfuscateurs (comme la si bien dit RALECUL).(Moi même j'en utilisais quand je développais sur téléphone mobile).
Après vu que c'est perso je comprend bien que tu veux pas te prendre la tête (moi perso je prend mon pied à faire des truc jolie).
C'est pas très vendeur je trouve seul ceux qui vont te faire confiance et utiliser ton apli tel quel voudrons l'utiliser.
De plus le js coté client est surtout utiliser pour gérer des évènement client ou dialoguer avec le serveur pas pour faire des traitement en plus de rendu de page, nos page mettent du temps à se charger non pas car le proc du serveur est pas assez puissant (10% d'util max) mais plutot à cause des requête.
Enfin je suis persuadé que spidermonkey il wiizzz encore plus si on met des ";" à la fin de chaque instruction!
Enfin tout ça c'est mon humble avis!
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
22 mai 2008 à 12:45
on peut aussi ecrire directement :

xs.foo={
$TR_1:{
$TD_1:{
_onmouseover:"bk:red",
_onmouseout:"bk:blue"
}
}
}
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
22 mai 2008 à 12:40
pour styliser un evenement comme onmouseout par ex.

xs.foo={
_onmouseout:function(){...}
}

conjuger à une cascade ca donne un truc interessant.

xs.foo={
$TR_1:{
$TD_1:{
_onmouseover:function(){xs.do(this,"bk:red")},
_onmouseout:function(){xs.do(this,"bk:blue")}
}
}
}

cela hookera les evenements onmouseover et out de chaque cellule d'un tableau.

je verifie un truc pour les styles localisé et j'ecris le tuto.
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
22 mai 2008 à 12:28
LAKICHEMOLE :
pour la rapidité : spidermonkey est VRAIMENT véloce !
à tester !

le but du css (et d'xs) est justement de ne pas coder les styles en dur.
au contraire ca permet de customiser un max.
j'en suis pas encore à parser du XML mais c une piste à creuser (JE N'AIME PAS LE XML)

Je ne sais pas si tu as remarqué mais la mode d'aujourd'hui c'est de faire faire le max de truc par le client (ca soulage le server pour avoir de la dispo cpu pour bf2)

pour info : je suis responsable projet dans un SSII principalement en delphi et c++.
+10ans et 2 enfants d'expérience, 2 types sous mes ordres.
Js c'est pour mes loisirs.

j'ecris cette lib depuis 2 ou 3 ans (version 5 !!!) de facon discontinue.
je l'agrémente d'autre lib plus ou moins audacieuses
par ex : des styles pour rendre un tableau triable
(le tri des tableaux s'effectue de manière non blocante...)
si tu aime le code abscons je posterais mes lib fthrd et fobj.
respectivement pour faire du "thread" et de l'héritage (du vrai) en js.
aucun commentaire, les tokens en 3 lettres max :-)))
comme tu dis : ca pique les yeux. mais ca wizzzz !
lakichemole Messages postés 253 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 18 mai 2009
22 mai 2008 à 10:35
L'exemple marche, j'avais copier le code au lieu de prend les fichiers source.
Le principe me plais sauf qu'il faut parser toute la page et sur une grosse page je sais pas se que ça pourrais donner je pense que faire la même chose coté serveur (php, JSp, ASPX) serait mieux.
C'est dommage que tu n'ais pas pris la peine de soigner un peux mieu la forme (je sais "c'est chiant :) ) mais tu verra que même toi plus tard ça te sera bénéfique de faire des chose compréhensible ( tu boss dans l'informatique??).
D'ailleurs ce site insiste plus sur la forme que sur le fond en général.
Mais l'intention est bonne et je suis sûr que tu feras un effort pour ta prochaine source!! :)
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
22 mai 2008 à 00:15
RALECUL:
1/ Désolé, je ne connais pas ton skill en js :-))
2/ Je n'ai simplement pas pensé que l'on pouvait ecrire : function $()... :-))

3/ ajax : effectivement... mais on peut appeler la fonction
xs.xstlz(object)
pour scanné tout le DOM descendant de l'object

4/ gain de temps : euh c'etait de l'ironie...
disons que c surtout chiant d'écrire des noms à ralonge.
à l'origine le code était écrit pour mon utilisation personnel...

autre fonction d'xs... on peut stylisé aussi les evenements onmouse* etc...
on peut aussi "localisé" des styles
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
21 mai 2008 à 23:50
voici une fonction intéressante du xs qui a priori n'existe pas en css2.
J'appel ca les cascades énumérées

comme si vous pouviez ecrire ca sous css :
.thin td#1{...} // style pour le 1er TD
td#2{...} // style pour le 2eme TD etc
puis utiliser la class "thin" dans une balise table.

avec xs c'est un plus plus compliqué et moins sexy.
mais si vous avez une autre idée...

en xs on peut declaré un style sous forme object direct :
xs.test1:{xs:"bk:black"} // ca equivaux à xs.test1="bk:black"
bien sur le but n'est pas de faire ce genre d'idiotie :-)

voici comment on declare des cascades énumérées
xs.test1={
...
${sous balise}_{index}:"..."
...
}

par exemple
xs.test1={
$TR_1:"bk:red",
$TR_2:"bk:white"
}

(LAKICHEMOLE : c'est ici qu'interviennent les fameuses lignes)

appliqué à un tbody ca alternera des lignes red et white.

si vous voulez maintenant styliser les TD

xs.test2={
$TR_1:{
$TD_1:"fc:red",
$TD_2:"fc:blue"
}
}

vous aurez une alternance de cellule avec une couleur d'ecriture (fc) red et blue

!!! ATTENTION !!!
contrairement au css, les cascades énumérées ne fonctionnent que sur les sous balises DIRECT
le style test2 appliquer à la balise table ne donnera rien car la sous balises direct est tbody

attention : sous FF il faut ABSOLUMENT mettre les noms des balises en maj.
$TD_0 plante ! commmercez à 1

voici un exemple fonctionnant sous FF

<html>
<head>
<script src="Js/Xs.js"></script>
</head>

1.1, 2.13.1
----, 1.22.2, 3.2
----
1.3, 2.33.3
----, 1.42.4, 3.4

<script>

xs.cscd1={
$TR_1:{
xs:"bk:yellow",
},
$TR_2:{
xs:"bk:white",
}
}

xs.cscd2={
$TR_1:{
$TD_1:"fc:red",
$TD_2:"fc:blue",
$TD_3:"fc:green"
}
}

xs.cascade="cscd1;cscd2"

</script>

<script>xsiz();</script>

</html>
ralecul Messages postés 111 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 1 août 2008
21 mai 2008 à 23:11
Ouais j'en avais ras-le-cul, tous les autres pseudos que j'utilise étaient pris !

Bon sinon, merci pour ta réponse mais je suis pas un nOOb !

Pour la fonction $ tu aurais pu écrire :
function $(id) {
return document.getElementById(id);
}

et non :
window["$"]=function(n){return document.getElementById(n);};

Je me demandais juste quelles étaient tes motivations pour avoir choisi cette deuxième forme.

La réelle critique (que tu as visiblement pas comprise) de ton système est la suivante :
Tu scannes le DOM à la recherche d'élément ayant un attribut "xs" si c'est le cas tu fait ta moulinette dessus et tu ajoutes un style.
(C'est juste une déduction à partir de la façon d'utiliser ton code, je ne l'ai pas regardé en détail).
Donc si tu décides de faire un appel Ajax et d'ajouter du contenu à ta page : (remplir le innerHTML d'un div avec du contenu stylé par exemple), que se passe t-il ?
A mon avis : rien ! Le contenu ajouté ne sera pas stylé, il faudrait faire un appel supplémentaire à xsiz().
D'où ma question : as-tu pensé à l'appel multiple à cette fonction ?
En particulier pour le passage de fonctions en tant que style.

Juste pour la forme : le gain de temps que tu indiques pour parser le code JS est très relatif (de l'ordre de la ms).
La réelle différence est que ton code est impossible à maintenir pour une personne tierce.
Si tu veut garder un coder "optimisé" il existe d'autres solutions.
Tu peut faire une version lisible pour un humain avec des commentaires et des vrais noms de variables.
Et ensuite faire une version compressé plus rapide à télécharger à l'aide de : http://dean.edwards.name/packer/
Il existe pleins d'autres truc dans ce style qui font de l'obfuscation et de la compression.

PS : pour l'indentation j'utilise la même que LAKICHEMOLE et pour moi elle est plus lisible, tu sais c'est juste une question de gout...
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
21 mai 2008 à 22:16
RALECUL :
ahah drôle le pseudo...

il FAUT mettre <script>xsiz()</script> à la ***FIN*** de la page.
cette fonction scan TOUT le DOM.
dans l'avenir pe je vais faire executer xsiz() par le onload du body

windows['$']=function etc...
c'est une astuce que j'ai piqué chez prototypes.org
ca évite d'écrire document.getElementById(...)

sous firefox les balises avec un ID ne sont pas reconnu par javascript de manière implicite (contrairement à IE)
$('balise').innerHTML+="coucou" = document.getElementById('balise').innerHTML+="coucou"

LAKICHEMOLE :
Etonnant que tu n'arrive pas à faire fonctionner l'exemple...
sous FF ca marche farpetement (joint ce meme exemple avec les dorures)

ahah ! intéressant l'exemple du code que tu cite. je donnerais l'explication de son utilité plus tard.

mon but n'est pas d'écrire du code claire (si, si) mais d'écrire du code court.
1/ parce que c'est moins chiant à écrire
2/ ca se télécharge plus vite
3/ ca se hash/parse plus vite par spidermonkey (ca pete hein ?)
4/ la lib a été fait pour être utilisé pas pour être "comprises"

voici l'exemple complet :

<html>
<head>
<script src="Js/Xs.js"></script>
</head>

voici mon email : tata$totor+fr

<script>

xs.decml=function(c,p){
c.innerHTML=c.innerHTML.replace(/[$]|[§]/ig,"@");
c.innerHTML=c.innerHTML.replace(/[+]|[#]/ig,".");
}
xs.ml=function(c,p){
var r=c.innerHTML;
c.innerHTML=""+r;
};
xs.email="decml;ml;b";

</script>

<script>xsiz();</script>

</html>

ps : LAKICHEMOLE : perso je n'aime pas la manière dont tu indente.
pour avoir debuggé bcp de ligne c++ je te garanti que c'est bcp plus lisible si tu met ton accolade ouverte { sur la meme ligne : if(...){
lakichemole Messages postés 253 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 18 mai 2009
21 mai 2008 à 18:19
Bon impossible de faire marcher l'exemple je me suis retapé toute l'indentation rajouter les ";", j'ai même rajouter des accolades à un "if" donc en attendant un vrai exemple sous forme de page html complète je met une mauvaise note.
Et quand je vois ça:
var f=m.substr(1,99).split("_");
if(!e[f[0]])
{
e[f[0]]=new Array;
e[f[0]][0]=1;
}
e[f[0]][f[1]]=p[m];
ça me pique les yeux!
ralecul Messages postés 111 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 1 août 2008
21 mai 2008 à 17:28
Salut,

C'est vraiment une source qui sort de l'ordinaire !
Pouvoir passer des fonctions en tant que style c'est assez sympa.

Je vois par contre des limitations importantes :
(à vérifier, je n'ai pas regarder tout le code qui est d'ailleurs assez illisible (a,b,d comme nom de variable c'est pas top))

Si tu ajoutes des éléments dans la page après l'appel à xsiz(); que se passe-t-il ?
Je pense qu'ils ne sont pas stylés, à moins d'appeler de nouveau xsiz().
Dans ce cas, as-tu pensé à l'appel multiple à xsiz() (notamment pour les fonctions passées en tant que style) ?

Ya un autre truc que je trouve bizarre :
window["$"]=function(n){return document.getElementById(n);};
Pourquoi as-tu décidé de déclarer cette fonction de cette façon ?
C'est tout à fait correct mais je m'interroge juste sur la raison de l'écrire de cette façon.

@+
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
20 mai 2008 à 15:15
Oui...

...
<script>
xs.decml=function(c,p){
c.innerHTML=c.innerHTML.replace(/[$]|[§]/ig,"@");
c.innerHTML=c.innerHTML.replace(/[+]|[#]/ig,".");
}
xs.ml=function(c,p){
var r=c.innerHTML;
c.innerHTML=""+r; // merci de verifier cette ligne
};

xs.email="decml;ml;b";

</script>
...
totor$tata+fr // anti grab email bot
....
<script>
xsiz();
</script>

affichera totor@tata.fr en gras avec un adéquate.

attention : il n'y a pas (encore) d'optimisation des xstyles
xs.test1="bk:red;bk:blue;bk:yellow";
vous obtiendrez bien un backgroundcolor jaune.
mais chaque style aura été executé (=perte de temps)
lakichemole Messages postés 253 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 18 mai 2009
19 mai 2008 à 10:30
Un petit exemple?
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
18 mai 2008 à 22:41
lib à inclure dans vos pages webs :
<script src="Xs.js"></script>
...
il faut mettre en fin de page
<script>
xsiz();
</script>

vous pouvez inclure dans n'importe quel balise la propriété xs

pour définir vos propres xstyles
- dans un fichier externe (format .js)
- à l'intérieur de votre fichier dans une clause <script>

pour appeler un style classique (css)
xs.le_nom_de_votre_style="!fontSize:5px";

vous pouvez faire des substitutions (c'est chiant d'écrire backgroundcolor non ?)
xs.bk="!backgroundColor"

vous pouvez maintenant faire :
xs.test="bk:5px solid black";

vous pouvez aussi faire :
xs.coucou="bk:5px solid black;le_nom_de_votre_style;...;..."

l'un des principales atouts du xs, vous pouvez faire :
xs.test=function(c,p){
... c=object
... p=paramètre
}

Nous verons plus tard pour les declarations des styles cascades
Rejoignez-nous