IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[Debutant] Un menu qui bouge en fonction de la taille de fenetre


Sujet :

JavaScript

  1. #1
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut [Debutant] Un menu qui bouge en fonction de la taille de fenetre
    Bonjour,
    J'ai trouvé un script fort sympa pour un menu style menu XP.
    Le problème de ce script est que l'on positionne à un endroit fixe le menu et que si l'on change

    Le premier probleme a été la resolution de l'ecran. Alors je detecte la taille de l'ecran et j'ajuste la position.
    Mais cette solution n'est pas terrible, car si la fenetre n'est ouvert qu'en petit et non pas en plein ecran, le menu ne se positionne pas bien.
    On me dira alors que si l'on detecte la taille de la fenetre on resoue le pb, mais si l'utilisateur decide de passer finalement en plein ecran sans recharger la page, alors le menu sera mal positionné en plein ecran.

    Voici un bout de code actuel, la fonction et son integration.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function InitMenu( StartX, StartY, Separ, Fader ){
    	PosXStart = StartX;
    	PosYStart = StartY;
    	intSepar = Separ;
    	bFader = Fader;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InitMenu(screen.width/2-400,120,1,false);
    Comment procéder pour que lorsque le la taille de la fenetre change, la position change egalement sans recharger la page...(ou eventuellement en la rechargeant, mais cest moins bon)

    Merci pour vos conseils.

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    t as un onresize que tu peux mettre sur le body maisje sais pas si ca marche pour firefox
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  3. #3
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut
    jai fait des recherches à partir de la fonction que tu m'as donné et j'ai modifié un code trouvé.

    Ca fonctionne bien, c'est juste un peu long, puisque ca recherge à chaque fois. (la valeur 100000 me permet de reconnaitre quand on passe sur une valeur de fenetre inferieure à la largeur de mon site centré, et du coup je pose une valeur fixe à mon menu dans ce cas la puisque "je colle à gauche")

    Cest un peu fouilli, mais ca marche
    Merci à toi.

    Voici le code pour ceux qui auraient le meme pb.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    function largeur_fenetre()
    {
    	if(document.body.offsetWidth<830) return 100000;
     else if (window.innerWidth) return window.innerWidth;
     else if (document.body && document.body.offsetWidth) return document.body.offsetWidth;
     else return 0;
    }
     
     
    function reconstruction()
    {
     if (largeur != largeur_fenetre())
     window.history.go(0);
    }
     
     /*initialiser la surveillance par l'Explorer Internet MS*/
     if(!window.largeur && document.body && document.body.offsetWidth)
      {
       window.onresize = reconstruction;
       largeur = largeur_fenetre()/2-400;
      }
     
     if(largeur_fenetre()==100000){
       largeur = 20;
       }
    //-->
     
     
    InitMenu(largeur,120,1,false);

    le gros defaut est que ca ne fonctionne pas sur firefox

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme de menu qui bouge en fonction du contenu
    Par allhambra dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 04/06/2007, 15h33
  2. [Upload] Upload qui plante en fonction de la taille
    Par jeyce dans le forum Langage
    Réponses: 5
    Dernier message: 10/07/2006, 10h19
  3. Probleme: menu qui bouge
    Par BernardT dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 16/06/2006, 05h05
  4. [debutant] page html qui ne fait pas fonctionner la fonction
    Par Battosaiii dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/03/2006, 19h25
  5. [Debutant] Menu sous IE et fonction Javascript
    Par Pepito dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/11/2005, 17h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo