2010-11-09 23 views
4

Je n'ai pas réussi à faire défiler une jscrollpane horizontale avec la roulette de la souris. Est-ce que quelqu'un a de l'expérience avec cela et peut offrir quelques conseils.jscrollpane wheelboard horizontal

Dans les commentaires du fichier js que je vois la mise à jour suivante seulement quelques mois il y a // 2.0.0beta3 - (2010-08-27) mouseWheel horizontale, mwheelIntent, support du clavier, des corrections de bugs

J'ai regardé sur la page de questions de github et la FAQ de Kelvin et les pages de problèmes connus aussi bien que le groupe de google et rien ne me fait penser que ceci ne devrait pas être possible.

Toute aide est appréciée.

Répondre

1

Vous devez vous assurer que vous utilisez une version du plug-in mousewheel qui est sorti après 2010-08-27 - modifications ont été apportées au plug-in mousewheel ainsi que JScrollPane pour le faire fonctionner. Sur mes pages de démonstration J'utilise 3.0.4:

http://jscrollpane.kelvinluck.com/script/jquery.mousewheel.js

Si cela ne vous aide pas alors pouvez-vous confirmer si le défilement horizontal fonctionne pour vous sur mes pages de démonstration. C'est le cas dans tous les navigateurs que j'ai essayés qui ont une souris capable de mouvements de roues horizontales (ou sur un trackpad macbook).

+0

J'ai fait descendre la dernière molette de la souris. Sur votre page de démonstration, le parchemin horizontal ne fonctionne pas pour moi. J'ai utilisé ie, chrome, safari avec les mêmes résultats. seul le défilement vertical semble fonctionner, rien d'autre. –

+0

aussi, je viens de réaliser que peut-être je ne comprends pas comment cela devrait fonctionner. En mode horizontal seulement, je m'attendrais à ce que la même roue qui déplace le défilement vertical déplace le rouleau horizontal, est-ce exact? –

+0

a confirmé que le défilement de décalage fonctionne réellement, de sorte que le défilement horizontal n'est tout simplement pas ce que j'attendais mais fonctionne probablement exactement comme implémenté. –

0

Je l'ai utilisé un plug-in de détection de Brandon par Aaron mousewheel:
http://brandonaaron.net/code/mousewheel/demos

Il fonctionne bien dans FF, Opera, Safari, Chrome, IE8 +.

+0

J'ai ce plugin référencé et si je comprends bien, Kelvin fait réellement la liaison dans son code. Donc, à moins que je manque quelque chose, je devrais seulement le référencer et tout est pris en charge? –

0

J'ai utilisé le lien ci-dessous 1.5 ans retour et cela a fonctionné à coup sûr, s'il vous plaît laissez-moi savoir si vous avez des doutes.

http://www.kelvinluck.com/assets/jquery/jScrollPane/jScrollPane.html 
+0

voir ce lien il a horizontal http://jscrollpane.kelvinluck.com/arrow_positions.html – kobe

10

Vous pouvez utiliser quelque chose comme ceci:

$('.scroller').each(function(){ 
    var scrollPane = $(this).jScrollPane(); 
    var api = scrollPane.data('jsp'); 
    scrollPane.bind( 
     'mousewheel', 
     function (event, delta, deltaX, deltaY) 
     { 
      api.scrollByX(delta*-50); 
      return false; 
     } 
    ); 
}); 

Modifier -50 à une autre valeur pour changer la vitesse et la direction du défilement.

-1

Cela fonctionne parfaitement sur mon site.

Essayez.

jQuery(function($) { 
    $('div.scroll-pane') 
     .bind('mousewheel', function(event) { 
      var scrollPane = $(this).jScrollPane(); 
      var api = scrollPane.data('jsp'); 
      scrollPane.bind('mousewheel',function (event, delta, deltaX, deltaY) 
     { 
      api.scrollByX(delta*-50); 
      return false; 
     } 
     ); 
     }); 
}); 
+0

Vous liez l'événement mousewheel deux fois. Ainsi, à chaque événement mousewheel, vous liez un autre événement à l'élément scrollPane. Avec ce code j'avais expérimenté le comportement d'accélération de la vitesse de défilement. – chodorowicz