11486 sujets

JavaScript, DOM et API Web HTML5

Bonjour, premier post Smiley biggrin sur ce site alors que je traine depuis pas mal de temps Smiley cligne .
J'ai cherché mais je n'ai pas trouvé de réponse , j'ai également essayé tout seul mais en vain. Smiley decu

En fait j'ai utilisé le tutoriel du menu pour faire apparaitre ou disparaitre des listes et j'aurai voulu que l'une des quatre soit ouverte au lancement de la page (avec par exemple une variable posté en GET).

Mais malheureusement je n'y arrive pas Smiley bawling .

J'avais pensé à récupérer la variable dans le js en GET et si celle ci est égale à 1 alors on affiche ce sous menu et on ferme les autres.

Cela est possible ?
Merci de votre aide Smiley cligne
Modifié par paulo198851 (29 Aug 2010 - 21:42)
Quand je fais des trucs comme ça
je cache tout en css (display:none) et j'utilise le javascript pour ajouter une classe (ex:selected) aux elements de la page que je veux afficher.

Comme ca tu pourrais recuperer la variable GET en php et faire un echo 'class="selected"'; sur la liste qui correspond.
Salut,

tu as un exemple dans ce sujet.

dhjapan a écrit :
Quand je fais des trucs comme ça
je cache tout en css (display:none) et j'utilise le javascript pour ajouter une classe
Sauf que du coup tu utilises du JavaScript intrusif. Smiley cligne
Exact,

la bonne solution serait de faire une version de la page avec tous les menus accessible,
en JS d'ajouter une classe (ex:class="js-ui"), qui va cacher tous les menus genre : .js-ui li {display:none;}
Et ensuite en js (ou en php quand il s'agit d'afficher un menu par defaut comme expliqué dans le lien que tu as donné) d'ajouter une classe (ex:class="selected") pour afficher ce qu'on veux : .js-ui li.selected{display:block;}

?
Merci de vos réponses ca m'a aidé j'ai un peu bidouillé mon code pour que ca marche, ca reste propre mais un peu brouillon Smiley biggrin .

J'ai fais des écho dans mes différentes classe, et j'ai fais une petite opération php.


if(isset ($_GET['formule'])){
    $formule=$_GET['formule'];
    if($formule==1){
        $open_formu_1='open_at_load';
    }
    else if($formule==2){
        $open_formu_2='open_at_load';
    }
        else if($formule==3){
        $open_formu_3='open_at_load';
    }

        else if($formule==4){
        $open_formu_4='open_at_load';
    }
}
else
    {$open_formu_1='open_at_load';}




et puis j'ai fais des echos du style pour le menu 3:


<ul class="subMenu <?php if(isset ($open_formu_3)){echo $open_formu_3;}?>">


Merci de votre aide Smiley cligne
Modifié par paulo198851 (31 Aug 2010 - 11:59)