Sa fait quoi sa ?

Sa fait quoi sa ? - HTML/CSS - Programmation

Marsh Posté le 11-04-2007 à 17:24:06    

Bonjour,  
 
Voila je suis pas très fort en javascript et j'aimerais savoir à quoi sert ce code :
 

Code :
  1. startList = function() {
  2.      if (document.all&&document.getElementById) {
  3.        navRoot = document.getElementById("menu" );
  4.      for (i=0; i<navRoot.childNodes.length; i++) {
  5.       node = navRoot.childNodes[i];
  6.       if (node.nodeName=="LI" ) {
  7.        node.onmouseover=function() {
  8.        this.className+=" over";
  9.           }
  10.           node.onmouseout=function() {
  11.            this.className=this.className.replace(" over", "" );
  12.           }
  13.          }
  14.        }
  15.     }
  16.   }
  17.   window.onload=startList;


 
Merci pour vos réponses

Reply

Marsh Posté le 11-04-2007 à 17:24:06   

Reply

Marsh Posté le 11-04-2007 à 17:28:29    

c'est l'initialisation d'un menu  
on rajotue une fonction sur le onmouseover et onmouseout des li inclu dans l'element menu

Reply

Marsh Posté le 11-04-2007 à 17:29:28    

ça fait un truc très laid

Reply

Marsh Posté le 11-04-2007 à 17:30:35    

Autrement dit si j'ai bien compris, sa permet d'afficher un menu si la souris va sur une balise de type li ?

Reply

Marsh Posté le 11-04-2007 à 17:32:37    

ça change juste la classe CSS utilisée en rajoutant "over". rien de plus. après, faut voir ce que fait cette classe dans ton CSS...
 
et le mieux, c'est de commencer par arrêter de récupérer des bouts de code tout pourri, et écrire le code toi-même, comme ça tu sauras ce que ça fait (mais pas forcément pourquoi ça fait pas ce que tu veux :D)

Reply

Marsh Posté le 11-04-2007 à 17:34:58    

Ben, en fait je restructure un site qui n'a pas été commenté du tout, c'est une vraie usine à gaz, ajax de partout, et vu que mon point faible c'est le javascript :)
 
Bien sur, j'aurait tout fait différement si j'avait coder ce site :)


Message édité par xdoomer01 le 11-04-2007 à 17:35:24
Reply

Marsh Posté le 11-04-2007 à 17:36:08    

forcément, dans ce cas... bienvenue au club :D
 
(enfin, moi je fais plus trop ce genre de trucs, ça me manque pas tous les jours je dois dire :D)

Reply

Marsh Posté le 11-04-2007 à 17:37:48    

Ouais mais bon, niveau maintenace c'est pas agréable du tout, du coup je suis obliger de tout refaire.
 
Alors s'il vous plaît commenter votre code ! et vive php, a mort ajax lol ;)

Reply

Marsh Posté le 11-04-2007 à 17:39:21    

ajax et php sont des technos qui peuvent etre utiliser pour le pire et le meilleur
 
et attention a ne pas confondre ajax avec du javascript normal'

Reply

Marsh Posté le 11-04-2007 à 17:40:28    

Oui, mais bon ajax ok c'est à la mode, mais bonjour la compatibilité avec les navigateurs etc... alors pour moi ajax c'est juste bon pour nettoyer les vitres ;)

Reply

Marsh Posté le 11-04-2007 à 17:40:28   

Reply

Marsh Posté le 11-04-2007 à 17:43:29    

commenter ?
 

Code :
  1. // Démarrage de la liste
  2.                 startList = function() {
  3.                            // Truc pour voir si c'est un navigateur pas tout pourrave
  4.                   if (document.all&&document.getElementById) {
  5.                                         // Mon menu à la con
  6.                        navRoot = document.getElementById("menu" );
  7.                                         // Mes noeuds de matelot
  8.                      for (i=0; i<navRoot.childNodes.length; i++) {
  9.                                                                             // ça c'est mon noeud coulant
  10.                          node = navRoot.childNodes[i];
  11.                                                                             // il est bô lili !
  12.                          if (node.nodeName=="LI" ) {
  13.                               // ça c'est quand c'est over
  14.                              node.onmouseover=function() {
  15.                                 this.className+=" over";
  16.                               }
  17.                               node.onmouseout=function() {
  18.                               // ça c'est quand c'est plus over
  19.                                   this.className=this.className.replace(" over", "" );
  20.                               }
  21.                           }
  22.                      }
  23.                 }
  24.  
  25.             }
  26.                                      // quand on démarre, ben on start la liste
  27.             window.onload=startList;


 
:sol:

Reply

Marsh Posté le 11-04-2007 à 17:43:43    

si tu le dis , ça doit être vrai  

Reply

Marsh Posté le 11-04-2007 à 17:45:01    

surtout celui au pamplemousse, il sent bon :love:

Reply

Marsh Posté le 11-04-2007 à 17:47:05    

+1 MagicBuzz ;)

Reply

Marsh Posté le 11-04-2007 à 17:51:42    

Utiliser Ajax aujourd'hui sans Framework ouais c'est débile. Mais dans le cas contraire, désolé c'est quand même pas mal du tout.
Je parle surtout dans le développement de solutions où l'on connais ses futurs utilisateurs.
Donc du Bon Ajax ça poutre.

Reply

Marsh Posté le 11-04-2007 à 17:53:19    

Citation :

Sa fait quoi sa ?


  • 2 fautes en une phrase

ou

  • mal au yeux


---------------
Töp of the plöp
Reply

Marsh Posté le 11-04-2007 à 17:53:58    

xdoomer01 a écrit :

Ouais mais bon, niveau maintenace c'est pas agréable du tout, du coup je suis obliger de tout refaire.
Alors s'il vous plaît commenter votre code !  


[:w3c compliant][:w3c compliant][:w3c compliant]
Y'a 17 lignes à la fonction, donc la moitié d'accolades fermantes... Le reste c'est du dom "de base". Je vois pas trop ce qu'il y aurait à commenter ( si ce n'est la fonction en elle même).
Après si tu n'y connais rien en js/dom, les commentaires serviront pas à grand chose :o

xdoomer01 a écrit :

et vive php, a mort ajax lol ;)


you made me lol'ed ...
 
 

Reply

Marsh Posté le 11-04-2007 à 17:55:40    

OK pour des applis bien spécifique le concept est bon, pour un site web grand public sa pose bcp de problème.
 
Et il se passe quoi quand on désactive javascript.... ;)

Reply

Marsh Posté le 11-04-2007 à 17:58:26    

Un site grand public : se sert uniquement de Javascript pour améliorer la navigabilité de l'utilisateur.
 
Si tu désactives le Javascript d'un site Ajax, je vois pas le souci si un gars à fait ça proprement...Tout marchera pareil  [:petrus75]

Reply

Marsh Posté le 11-04-2007 à 18:01:30    

xtof_83 a écrit :

Un site grand public : se sert uniquement de Javascript pour améliorer la navigabilité de l'utilisateur.
 
Si tu désactives le Javascript d'un site Ajax, je vois pas le souci si un gars à fait ça proprement...Tout marchera pareil  [:petrus75]


c'est beau la théorie  
 
pour le js, on est d'accord  ( encore que peu de menu dynamiques fonctionnent sans js )  
 
mais pour ajax, a moins de faire la fonctionnalité en deux exemplaires ( une ajaxifié , une pas ) je vois pas comment faire pour avoir un mode dégradé fonctionnel  
 

Reply

Marsh Posté le 11-04-2007 à 18:11:09    

Ben ouais, c'est vrai, mais ça devrais être comme ça.
Tu met pas d'Ajax si tu veux pas te faire un minimum chié.
 
Donc bon, balancé des "AJAX ça pue", ça veux rien dire, c'est nul.

Reply

Marsh Posté le 11-04-2007 à 18:14:31    

au contraire, je suis un fervent partisan d'ajax  
 
mais bon, il y a une difference entre se faire un minimum chier ( faire du code js qui fonctionne sur tous les navigatuer ) et se faire bcp chier ( tout faire en double : ajax/ pas ajax )  
 
donc je maintiens que 90% des sites qui utilisent ajax ne prevoient pas de solution alternatives ( qui sont généralement pas simple a mettre en place sans modifier la structure du site )  
 
ceci dit, je travaille surtout sur des intranet, donc je connais a l'avance els contraintes d'accessibilité et le parc

Reply

Marsh Posté le 11-04-2007 à 18:20:44    

Moi c'est pas du intranet, mais bon je connais aussi un peu le parc des utilisateurs.
Que beaucoup des sites utilisant Ajax ne prévoient pas de solution alternatives, ça je suis d'accord avec toi.
Je pense pas qu'on ai besoin de tout faire en double. Si on a bien monter la structure de l'application, "quelques ajouts", (bon ça varie) et ça peux aller.
Après compatibilité  entre navigateurs, je pense pas m'abaisser en disant, que ça me dépasserais si je devais tous gérer ça seul...Et donc le choix d'un bon framework, fait partit aussi de la réussite d'une bonne appli.

Reply

Marsh Posté le 11-04-2007 à 18:22:32    

Justement quelle framework conseil tu ?

Reply

Marsh Posté le 11-04-2007 à 18:26:42    

je conseil rien, faut faire en fonction de tes besoins. Ma boite avaient des besoins on a fait des choix, tu as des besoins tu fait ton choix.
J'avais posté ceci il y a quelques mois :
 
http://forum.hardware.fr/hfr/Progr [...] 8792_1.htm
 
Mais bon les choses change plus vite que toi tu changes de caleçons...Donc un petit check des nouvelles solutions proposé par ces frameworks, ne fait pas de mal ;)

Reply

Marsh Posté le 11-04-2007 à 18:27:10    

c'est clair que le framework simplifie beaucoup le travail ( perso , j'utilise yahoo ui ) , mais il reste quand meme pas mal de boulot si on veux faire les choses en doubles
 
par exemple j'utilise pas mal d'arbres  pour générer des filtres sur une recherche >> pas super agréable a refaire en php

Reply

Marsh Posté le 11-04-2007 à 18:36:17    

Ouais il y a encore un peu de chemin à parcourir avant que ce soit vraiment facile de tout faire simplement.  
Mais je suis confiant, les différents projet avancent bien. Et les communautés grandissantes. A suivre...

Reply

Marsh Posté le 11-04-2007 à 18:39:31    

[chipotage]c'est pas des frameworks mais des toolkits/librairies[/chipotage] :o

Reply

Marsh Posté le 11-04-2007 à 18:51:44    

Aller je te l'accorde, mais pas pour tous :P

Reply

Marsh Posté le 11-04-2007 à 21:11:11    

xtof_83 a écrit :

Utiliser Ajax aujourd'hui sans Framework ouais c'est débile. Mais dans le cas contraire, désolé c'est quand même pas mal du tout.
Je parle surtout dans le développement de solutions où l'on connais ses futurs utilisateurs.
Donc du Bon Ajax ça poutre.


Ben nan tête de bite [:spamafote]
Quand on fait de l'ajax on est pas obligé d'utiliser de framework, surtout pour des besoins bien ciblés et si la personne qui code est très bonne en JS/Domscripting.

 

Je peux faire ce que je veux en JS sans utiliser le moindre framework ni Lib JS.

 

coté PHP ou autre non plus tu n'es pas obligé d'utiliser un framework.

 

Dis toi bien que lorsqu'on fait un site, le site doit etre le plus léger possible. Et donc plus on évite les frameworks / libs lourds et plus le site est léger


Message édité par gatsu35 le 11-04-2007 à 21:15:54
Reply

Marsh Posté le 11-04-2007 à 21:22:38    

Il est certain qu'on a pas toujours besoin d'une librairie, surtout pour juste faire quelques appel à la BD, ou autre.
Mais bon dans le cadre d'une grosse application, et afin de gagner du temps et rester compatible, et compréhensible par un max de personne, une librairie ça fait du bien.
Si je me souvient, fut un temps tu utilisais quand même bien prototype ?
Bon après si c'était pour la partie Ajax, ou juste JS, je sais plus :P
 
Mais voilà...faut toujours réfléchir au début, à ce que l'on a réellement besoin ;)

Reply

Marsh Posté le 11-04-2007 à 21:38:34    

J'ai jamais utilisé prototype et la seule lib que j'ai utilisé jusqu'à maintenant c'est JSL qui me sert juste à apporter une compatibilité maximale des vieux navigateurs (ie Array.push n'existe pas sous IE5 et JSL l'apporte).
 
Je code tout moi même, tout le JS, j'ai l'habitude et je code tout ce que je veux facilement [:spamafote]

Reply

Marsh Posté le 11-04-2007 à 21:44:42    

:P peut être aurais je autant d'aisance, dans quelques temps en JS. Mais pour l'instant, ça me reste utile de faire avec une librairie :D
Et vue ce que j'ai à élaboré...heureusement que ça existe.

Reply

Marsh Posté le 12-04-2007 à 11:09:41    

xtof_83 a écrit :

:P peut être aurais je autant d'aisance, dans quelques temps en JS. Mais pour l'instant, ça me reste utile de faire avec une librairie :D
Et vue ce que j'ai à élaboré...heureusement que ça existe.


Si c'est une appli (pas un site) mais une appli Web, je suis 100% d'accord pour le fait d'utiliser une bonne librairie.
Mais je suis sur que dans 90% des cas je peux m'en passer [:spamafote]

Reply

Marsh Posté le 12-04-2007 à 11:45:42    

AMA, la question n'est pas de savoir si on peut s'en passer mais de savoir si on gagne du temps à l'utiliser :o

Reply

Marsh Posté le 12-04-2007 à 11:50:49    

Prototype et script.aculo.us simplifient quand même pas mal la tâche dans le développement d'un code JS un peu complexe et cross-browsers.
 
Et quand on doit développer/maintenir une appli web, l'extension firebug est bien pratique (entre autre, un clic dans le code html qui te sélectionne dans la page web le bout d'ihm concerné par ce code, où encore de visualiser les échanges ajax entre le client et le serveur)...

Reply

Marsh Posté le 12-04-2007 à 15:34:05    

Ouais désolé, moi quand je fais du JS digne de ce nom, c'est souvent pour  des applications ;)
anapajari>> iep, toujours se demander les réels besoins qu'on aura lors du développement.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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