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 :

jQuery : scroller une div quand on scrolle une fenêtre


Sujet :

jQuery

  1. #1
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 46
    Par défaut jQuery : scroller une div quand on scrolle une fenêtre
    Bonjour,

    J'aimerais trouver une solution jQuery à mon problème.

    J'ai une div centrée au milieu du body avec un html et un CSS assez particulier pour répondre à un besoin (seule la bordure inférieure de la div semble monter et descendre lors d'un scroll).

    Cela fonctionne très bien quand je scroll à l souris dans la div mais j'aimerais que le défilement dans cette div se fasse également quand je scrolle à la souris en dehors de la div (n'importe où sur la page).

    Voici mon
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <div id="dummy_top_frame"></div>
     
    <div id="frame">
     
        <div id="container">
     
            contenu
     
        </div>
     
    </div>

    Voici mon
    Code CSS : 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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    html,
    body,
    #frame{
       -ms-overflow-style: none;
        scrollbar-width: none;
    }
     
    body::-webkit-scrollbar,
    #frame::-webkit-scrollbar{
        display: none;
        width: 0;
        height: 0;
    }
     
    body{
        margin:0px;
        padding:0px;
        background:#333;
    }
     
    #dummy_top_frame{
        position:absolute;
        top:40px;
        width:598px;
        height:150px;
        left:50%;
        margin-left:-300px;
        border:1px solid white;
        border-bottom:none;
        background:black;
    }
     
    #frame{
        position:fixed;
        top:41px;
        width:600px;
        left:50%;
        margin-left:-300px;
        height: calc( 100% - 41px);
        overflow:scroll;
    }
     
    #container{
        position:relative;
        width:598px;
        border:1px solid white;
        border-top:none;
        margin-bottom:140px;
        background:black;
        color:white;
    }

    J'ai trouvé ceci comme solution éventuelle en cherchant sur le web mais ça ne marche pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $(window).scroll(function(){
        $('#container').scrollTop($(this).scrollTop());
    });
    En effet, l'idée tient la route mais comme la fenêtre ne déborde jamais, aucun scroll effectif de la souris n'y est détecté. Et donc le contenu de la div centrale reste statique.

    Voici un exemple de ce que ça donne pour l'instant):

    https://jsfiddle.net/7w8j1s6L/


    PS: une solution avec CSS m'irait aussi mais vu le css existant, une solution javascript me parait plus simple à envisager.

    Merci

  2. #2
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 46
    Par défaut
    Ceci fonctionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $(window).on('mousewheel',function(event) {
        var scroll = $('#frame').scrollTop();
        $('#frame').scrollTop(scroll - event.originalEvent.wheelDeltaY);
    });
    Merci.

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

Discussions similaires

  1. Scroller une div en fonction du scroll d'une autre
    Par smoulaye dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 05/07/2013, 09h44
  2. Réponses: 2
    Dernier message: 13/11/2010, 14h13
  3. [script.aculo.us] Drag and drop dans une div avec un scroll horizontal
    Par ridan dans le forum Bibliothèques & Frameworks
    Réponses: 7
    Dernier message: 21/07/2009, 19h14
  4. Auto scroller une DIV
    Par Blica dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/03/2008, 22h01
  5. [PHP-JS] comment faire scroller une div
    Par Garra dans le forum Langage
    Réponses: 4
    Dernier message: 13/04/2007, 14h00

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