Vous n'êtes pas connecté - 0 membre connecté
Catégories
Graphisme
Flash (50)
Print (65)
Programmation
PHP (66)
ASP (2)
Autres langages (41)
CSS (26)
Hardware
PC (34)
Mac (14)
Linux (5)
Divers
Blabla (257)
926 Sujets
12256 Réponses
Programmation > Autres langages > parcourir une liste avec 'p...
parcourir une liste avec 'prototype'
et retrouver un id par rapport a une classe donnée.

donc j'explique , j'ai développé un truc (pour tout vous dire c'est un 'fancy' menu avec scriptaculous et non mootools fancy_menu)

et donc à un moment il m'a fallu déterminer le nom de l'id' sur une liste possédant la classe 'active'.

mon html :

<ul id="menu_scriptaculous">
        <li class="active" id="home"> <a href="" onmouseover="javascript:letsgo ('home')"> home </a> </li>
        <li id="bio"> <a href="biography.php" onmouseover="javascript:letsgo ('bio')"> biography </a> </li>
        <li id="disco"> <a href="discography.php" onmouseover="javascript:letsgo ('disco')"> discography </a> </li >
        <li id="agenda"> <a href="agenda.php" onmouseover="javascript:letsgo ('agenda')"> agenda </a> </li>
        <li id="galery"> <a href="galery.php" onmouseover="javascript:letsgo ('galery')"> galery </a> </li>
        <li id="guest"> <a href="guestbook.php" onmouseover="javascript:letsgo ('guest')"> guestbook </a> </li>
        <li id="down"> <a href="download.php" onmouseover="javascript:letsgo ('down')"> download </a> </li>
< /ul>

donc pour se faire j'ai coder ceci :
        if($('home').hasClassName ('active')) {base = 'home';}
            else if($('bio').hasClassName('acti ve')) {base='bio';}
            else if($('disco').hasClassName('ac tive')) {base='disco';}
            els e if($('agenda').hasClassName('a ctive')) {base='agenda';}
            e lse if($('galery').hasClassName('a ctive')) {base='galery';}
            e lse if($('guest').hasClassName('ac tive')) {base='guest';}
            els e if($('down').hasClassName('act ive')) {base='down';}


et vous voyez c'est pas super optimale ...

je suis persuadé qu'il doit y avoir une autre maniére de coder afin d'optimiser ceci mes çà me dépasse un peu ..
une idée ?

[edit] en même temps je cherche une classe qui permette de tronquer un texte sans couper le balisage , vous n'auriez pas çà sous le coude ?
Posté le 07 05 2007 à 18h32
senkante - Membre

Réponses - parcourir une liste avec 'p...
 un switch comme en php :)

switch (Expression)
{
  case Premier_label:
    Premières_instructions;
   break;
   ...
  case Nième_label:
     //Nièmes_instructions;
    break;
  default:
    //Instruction_par_défaut
   break;
}
Posté le 08 05 2007 à 09h50
Neoblue - Modérateur - www
oui déjâ mais niveau poids c'est identique, je pensais plutôt à un solution avec une boucle mais sans déclarer la liste des id auparavent ..
Posté le 08 05 2007 à 11h14
senkante - Membre
Tu dois avoir quelque chose qui ressemble à getElementByClassName(), non ?

[Edit]
Oui ! Il s'agit de getElementsByClassName()...
Posté le 08 05 2007 à 12h21
Ishiro - Membre - www
et oui mais avec comment récupérer l'id donc ? parce que j'en ai absolument besoin pour la suite
Posté le 08 05 2007 à 12h56
senkante - Membre
et hop j'ai trouvé, aprés toute une aprém de recherche à block

listeLi = $$('li.active');
base = listeLi[0].id;

trés con n'est ce pas ? ^^

concernant le listeLi[0] c'est juste parce qu'en fait je n'ai qu'une seule class active dans toute ma page , d'ou le 0.
Posté le 08 05 2007 à 18h56
senkante - Membre
Sujets Autres langages
<< 1 2 3 4 5 >>
IE7 + SP2 + Status=0
Auteur : tyler
Posté le 15 03 2007 à 13h15
6 Réponses (Nouveau sujet)
Sujet visité 848 fois
blacklistage smtp
Auteur : o0o
Posté le 28 02 2007 à 11h55
2 Réponses (Nouveau sujet)
Sujet visité 571 fois
EXIT : Js : onblur
Auteur : caniche
Posté le 19 02 2007 à 15h29
25 Réponses (Nouveau sujet)
Sujet visité 866 fois
Validateur (...)
Auteur : Erto
Posté le 16 01 2007 à 12h07
3 Réponses (Nouveau sujet)
Sujet visité 562 fois
Subversion
Auteur : caniche
Posté le 15 01 2007 à 14h08
13 Réponses (Nouveau sujet)
Sujet visité 662 fois
[RESOLU] erreur (...)
Auteur : Pierrot
Posté le 04 12 2006 à 16h59
12 Réponses (Nouveau sujet)
Sujet visité 915 fois
Problème Eudora - (...)
Auteur : dsd
Posté le 26 11 2006 à 21h06
4 Réponses (Nouveau sujet)
Sujet visité 632 fois
[annulé][js] (...)
Auteur : veensez
Posté le 08 11 2006 à 11h54
7 Réponses (Nouveau sujet)
Sujet visité 677 fois
Paiement sécurisé, (...)
Auteur : Tibooo
Posté le 02 10 2006 à 18h45
4 Réponses (Nouveau sujet)
Sujet visité 817 fois
Apache2 ajouter (...)
Auteur : alienmaster
Posté le 16 10 2006 à 17h06
5 Réponses (Nouveau sujet)
Sujet visité 485 fois
<< 1 2 3 4 5 >>
Mentions légales   -   Crédits   -   Nous contacter   -   © Benzor 2006