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 :

Question sur un objet "semi-fixé"


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Question sur un objet "semi-fixé"
    Bonjour à tous !

    J'essaie de faire une page web, et je pense avoir besoin de Javascript pour la réaliser... Mais je ne sais pas vraiment où chercher !

    Voici mon problème : lorsqu'on arrive sur une page, j'aimerais avoir une barre de menu s'affichant à environ 50px du bord supérieur de ma page (elle serait positionnée juste en-dessous d'un logo).
    Comment faire pour que cette barre reste fixe en haut de la page lorsque l'on descendra avec la barre de défilement ? Le menu devra donc changer être solidaire de la page lorsque le haut de la page ne l'a pas atteint, et rester en haut de la fenêtre lorsque l'on descend plus bas (i.e. lorsque l'on aura dépassé le logo). Ainsi, elle sera toujours visible.

    J'espère avoir été assez claire...

    Merci pour votre aide !

  2. #2
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    L'objectif est a priori réalisable, mais en effet il me semble que le CSS ne suffira pas, il y aura une partie en Javascript très probablement.

    Peut-on voir ton code actuel, ou disons les essais que tu as faits jusqu'ici pour atteindre ton but ?

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  3. #3
    Membre averti
    Avatar de Darkyl
    Homme Profil pro
    autodidacte en recherche d'emploi
    Inscrit en
    Novembre 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : autodidacte en recherche d'emploi

    Informations forums :
    Inscription : Novembre 2004
    Messages : 440
    Points : 352
    Points
    352
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Si j'ai bien compris ton problème :
    - tu créer un div qui affichera ta page generale (qui sera scrollable);
    - tu creer un div qui affichera ta bannière + menu (tous les éléments que tu veux fixer);

    Ainsi si tu scrolles ta page, tu intéragis avec le div de ta page generale et non le scroll du body. Ton deuxième div restera donc toujours à sa place (ps : oublie pas de mettre overflow:hidden sur ton index et position:absolute sur ton div menu).

    D'accord, le div du menu ne bougera jamais même si le scroll est tout en haut.

    Si tu veux qu'il bouge, fais une fonction que tu actualises à chaque scroll et qui affecte à ton div menu ses positions normales+valeurs des scroll (verti / hori)...

    Attention : j'ai eu des soucis de scintillement avec chrome et IE, seul Firefox affiche bien les nouvelles positions sans scintillement.
    Tu peux aussi mettre une anim sur ta fonction d'actualisation pour que le div du menu se déplace jusqu'à sa nouvelle position.

    Ainsi pas de scintillement mais si l'utilisateur ne fais que scroller, tu lags...
    Darkyl, celui qui conduit quand il boit pas .(faudra penser passer le permis )

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci pour ta réponse.

    Malheureusement, je n'ai pas vraiment pu essayer de la faire, parce que je ne sais pas quelle librairie Javascript (et quelle fonction ou plug-in) me permettrait de réaliser cet effet.
    Pourrais-tu m'indiquer si jQuery permet de le faire, où si je devrais plutôt utiliser une autre librairie ?

    Sinon, j'ai trouvé un site avec exactement l'effet recherché (menu du haut) : http://www.smartplanet.com/blog/thin...iving-car/5445
    Le problème, c'est que je n'arrive pas à comprendre le code utilisé sur ce site.

    Merci d'avance pour ton aide !

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je n'avais pas vu le message de Darkyl !
    Merci, c'est intéressant, mais je ne sais pas comment accéder au scroll...
    Je suis une débutante en Javascript...
    Est-ce que ce comportement n'est pas disponible dans une librairie ?
    Merci !

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 29
    Points : 26
    Points
    26
    Par défaut
    Bonjour,

    Tu peux peut-être essayer avec ce tuto et adapter :

    http://tympanus.net/codrops/2009/12/...uery-tutorial/

  7. #7
    Membre averti
    Avatar de Darkyl
    Homme Profil pro
    autodidacte en recherche d'emploi
    Inscrit en
    Novembre 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : autodidacte en recherche d'emploi

    Informations forums :
    Inscription : Novembre 2004
    Messages : 440
    Points : 352
    Points
    352
    Billets dans le blog
    1
    Par défaut
    Que tu ne sache pas quelle architecture générale adopté pour faire telle ou telle chose, c'est normal, tu es apparemment (selon tes dires, débutante, tout comme moi d'ailleurs).
    Que tu demande de l'aide pour le concept général de ton script, c'est normal aussi.
    Maintenant, une fois l'architecture global trouvée, cherche sur le net pour les spécifications: comme par exemple, le scroll.

    Aec jquery, les évènements liés au scroll sont facilement gérable, il te suffit de taper scroll + jquery dans google.

    Essaye de faire ton script un minimum, montre nous ou sont tes erreurs si tu n'y arrive pas.
    Je pense que te plonger dans une bibliothèque ou un tuto ne t'aidera pas tant que ça. Ce que tu essaye de faire n'est pas vraiment compliqué.

    Il faut :
    - arriver à assigner une fonction lambda à l'évènement scroll de ta page;
    - déclarer la fonction lambda
    - arriver à assigner des valeurs pour le top et left de ton div (soit par jquery soit en javascript pur).

    Quand tu sera faire cela, ton script ne te posera plus de problème. Maintenant, si tu as un problème pour faire cela, aprés quelques recherches et cours sur internet, n'hésite pas à reposter.

    Dans mon post précédent, je t'ai donné deux solutions fondamentalement différentes pour arriver (à peu prés) au même résultat.
    As-tu vu la nuance entreles deux méthodes et les as tu compris? (dans leurs concepts).

    Si tu veux voir le rendu de ma solution : mon site
    (scroll la page et regarde les menus, compatible firefox et chrome mais pas IE)

    Cordialement
    Darkyl, celui qui conduit quand il boit pas .(faudra penser passer le permis )

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci pour toutes vos réponses !
    C'est bien plus clair maintenant !
    J'essaie de le faire, et si j'ai encore des soucis, je reviens vers vous !

Discussions similaires

  1. Question sur les objets
    Par tosqualler dans le forum MFC
    Réponses: 8
    Dernier message: 18/01/2008, 00h01
  2. Une question sur les objets en VBA
    Par deubelte dans le forum Général VBA
    Réponses: 5
    Dernier message: 12/10/2007, 17h07
  3. Question sur l'objet window
    Par renaud26 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/07/2006, 18h05
  4. question sur les objets
    Par afrikha dans le forum Langage
    Réponses: 14
    Dernier message: 07/12/2005, 15h21

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