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 :

Modifier css lors du scroll


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Par défaut Modifier css lors du scroll
    Bonjour à tous,

    Je suis tombé sur un effet très sympa ici que je cherche à reproduire.

    En gros le menu de gauche est en position absolute avec un margin-top. Lorsque la page est scrollée et que le menu atteint le haut de la fenêtre, il est basculé en position fixed.

    Seul problème: je me suis mis à javascript très récemment et je n'arrive pas à isoler le script, qui contient d'autres fonctions n'ayant rien à voir.

    Le script est ici, la partie intéressante est à la fin.

    Auriez-vous quelques pistes pour m'aider ?

    Merci beaucoup pour l'aide.

  2. #2
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 34
    Par défaut
    le principe est de placer un écouteur sur le document et plus particulièrement sur l'event "scroll"

    à chaque scroll, on verifi récupère la hauteur du scroll et on le compare à notre repère (ex : 200px, position initiale en absolute)

    Si le scrollTop est supérieur à 190 on passe le menu en position:fixed avec top:10px,
    Si le scrollTop est inférieur à 190, on le bascule en position:absolute avec top:200px ...

    Attention, dans ton exemple, le gars code avec une lib (jQuery je crois) donc tu devra faire autrement si tu code sans lib

    @++

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    c'est dans le js de la page avec ce titre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    /*
    	 * MAGICAL SCROLLING NAV
    	 * (not that magical)
    	 * 
     	 * This is using lots of vars because it gets called all the time 
     	 * on scroll, so it needs to be fast.
    	 */
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Par défaut
    Ok merci pour vos réponses je m'en suis sorti (ça m'a pris l'après-midi mais bon )

    A noter que Chrome m'a causé beaucoup de soucis car il interprétait mal scrollTop: l'élément était à peine au milieu de la page qu'il le considérait comme tout en haut !
    En cause l'élément précédent dans le flux qui n'avait pas de height

    A+

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/04/2009, 13h09
  2. Modifier CSS avec javascript
    Par Z3c33 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/03/2008, 18h17
  3. Réponses: 2
    Dernier message: 29/08/2006, 16h18
  4. [CSS] Pas de scroll dans le body !
    Par pekka77 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 02/12/2005, 17h59
  5. Changement de CSS lors d'un mouseover
    Par jeff37 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 27/05/2005, 16h03

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