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

jQuery Discussion :

aside qui suit le scroll


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2015
    Messages : 4
    Par défaut aside qui suit le scroll
    Bonjour

    Voici un code javascript qui permet de garder une aside sur la partie droite de la page web lors du scroll:
    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
    $(function() {
        var offset = $("#sidebar").offset();
        var topPadding = 15;
        $(window).scroll(function() {
            if ($(window).scrollTop() > offset.top) {
                $("#sidebar").stop().animate({
                    marginTop: $(window).scrollTop() - offset.top + topPadding
                });
            } else {
                $("#sidebar").stop().animate({
                    marginTop: 0
                });
            }
        });
    });
    Ce code fonctionne tres bien sauf que quand j'arrive sur le footer le padding-top continue et donc recouvre le footer.
    Comment faire pour dire qu'a une certaine valeur (ex 2000px) le padding-top s’arrête?
    N’hésitez pas a me demander plus de précisions.
    Cordialement.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2015
    Messages : 4
    Par défaut
    En fait j'aimerai faire un if comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (jQuery(window).scrollTop() > offset.top && jQuery("#naujac_sidebar").css(marginTop) > "1515px")
    Mais je n'y arrive pas.
    Pouvez-vous m'aider s'il vous plait?

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Bonjour,
    peut être en changeant d'approche, j'entends par là récupérer la position du footer, son top, et si le scroll est supérieur au top du footer - la hauteur de ton ASIDE, tu figes la position de celui ci.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2015
    Messages : 4
    Par défaut
    Merci noSmoking.

    J 'ai enfin réussi a quelque chose.
    Le problème maintenant c'est que le aside remonte tout en haut quand j'arrive sur le footer.

    Comment dire en javascript marginTop = position aside actuel ?

  5. #5
    Membre éprouvé
    Avatar de TiranusKBX
    Homme Profil pro
    Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Inscrit en
    Avril 2013
    Messages
    1 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 476
    Billets dans le blog
    6
    Par défaut
    défini son placement par rapport à la position du footer
    en récupérant par exemple sa position haute avec
    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#idfooter').offset().top

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2015
    Messages : 4
    Par défaut
    Merci beaucoup.

    Ca marche au poil

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

Discussions similaires

  1. DIV qui suit le scroll de l'écran sans se superposer sur les autres !
    Par Dsphinx dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/07/2011, 11h43
  2. div qui suit le scroll sans depasser hauteur div
    Par ju0123456789 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/02/2011, 09h15
  3. Bloc qui suit le scroll
    Par BenoitDenis dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 25/03/2010, 15h04
  4. Div qui suit le scroll
    Par topolino dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/09/2009, 15h49

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