• [^] # Re: ----------------------------

    Posté par . En réponse au journal Au risque de me répéter.... Évalué à 1.

    Super !
    En fait, dans le forum, y'a quelqu'un d'au moins aussi sympa que toi ;-) qui m'a proposé des pistes, et des indices de réponses (Mathieu Pillard pour ne pas le citer).... Et j'ai pu bricoler ça :

    [style]
    .SousMenu
    {
    height:14px;
    font-size:12px;
    margin-left:10px;
    overflow:hidden;
    }
    .SousMenuOpen
    {
    height:auto;
    font-size:12px;
    margin-left:10px;
    }
    [/style]
    [script]
    function change_class(link, elm)
    {

    elm.setAttribute('class', (elm.className.indexOf("O")> 0) ? 'SousMenu' : 'SousMenuOpen');
    link.innerHTML = (elm.className.indexOf("O") > 0) ? '[-]' : '[+]';
    }
    [/script]

    [body]
    [div id="MenuApp" class="Menu"]
    [h1]Menu[/h1]
    [div id="SousMenu1" class="SousMenu"]
    [a href="#" onclick="change_class(this, document.getElementById ('SousMenu1'));return (false);"][+][/a] Sous Menu 1
    [div id="SousMenu1.1" class="SousMenu"]Sous Menu 1.1[/div]
    [div id="SousMenu1.2" class="SousMenu"]Sous Menu 1.2[/div]
    [div id="SousMenu1.3" class="SousMenu"]Sous Menu 1.3[/div]
    [/div]
    [div id="SousMenu2" class="SousMenu"]
    [a href="#" onclick="change_class(this, document.getElementById ('SousMenu2'));return (false);"][+][/a] Sous Menu 2
    [/div]
    [div id="SousMenu3" class="SousMenu"]
    [a href="#" onclick="change_class(this, document.getElementById ('SousMenu3'));return (false);"][+][/a] Sous Menu 3
    [/div]
    [/body]


    Attention, ce code est très inspiré de ce qui provient de la dlfpbar, très crade (mon code, pas celui de linuxfr !) car ce n'est qu'un essai pour voir, et du code que j'ai consulté ici http://n.mo.free.fr/csslab/dyntree/treemarche.htm(...) comme Mathieu me l'a gentiment proposé.
    J'ai également pu constater qu'on pouvait faire disparaître un ensemble de div en utilisant la propriété css hover... Mais c'est moyen pratique avec la souris.
    Demain, si j'ai du temps, je vais voir à améliorer un peu mon code dégueulasse. Je pense en particulier virer les div et les remplacer par des listes imbriquées.... Ces listes étant générées par du code php.
    Pour exprimer un peu le fond de ma pensée, et le fin mot de l'histoire, je me suis codé un moteur d'applications qui permet de coder rapidement des formulaires pour inter-agir avec une base de données postgreSQL.
    Pour faciliter les choses, l'écran ne comporte qu'un seul formulaire. Celui-ci comporte à son tour des zones cachées qui sont remplies par des liens et permettent de savoir ce que l'utilisateur veux faire.
    Avec le code ci-dessus, j'évite à l'utilisateur tous les échanges entre son poste et le serveur qui s'effectuaient lorsque celui-ci naviguait dans les menus.
    En effet, les Menus/sous-menus sont représentés directement dans le système de fichier (répertoires/sous-répertoires), et les formulaires sont tout simplement des fichiers php inclus définissant des variables exploitées par le moteur. Simple et efficace. Il ne me reste plus qu'à modifier mon moteur et ajouter un cache à tout ça pour avoir un truc encore plus rapide !

    J'esère avoir été clair à propos de ma problématique. Si ce n'était pas le cas, je tenterai de ré-expliquer.... En tout cas, merci pour les liens, que je consulterai plus en profondeur demain, depuis le boulot !