2010-05-06 22 views
6

¿Puedo hacer jscrollpne de modo que el panel principal no se desplace, incluso cuando el desplazamiento infantil ha llegado a su parte inferior. Ahora cuando el desplazamiento infantil alcanza el desplazamiento inferior de los padres se produce. Quiero que los padres se desplacen solo cuando el mouse está fuera del cuadro de desplazamiento infantil.jscrollpane bloque desplazando padre

+0

No me importaría saber la respuesta a este yo. – Atorian

Respuesta

5

El comportamiento que usted describe es por diseño. Así es como se comportan las barras de desplazamiento del navegador nativo en un elemento que tiene desbordamiento: automático. No recomendaría cambiarlo. Sin embargo, si desea entonces la respuesta de Borgenk es correcta, puede utilizar este código:

$('.scroll-pane') 
    .jScrollPane() 
    .bind(
     'mousewheel', 
     function(e) 
     { 
      e.preventDefault(); 
     } 
    ); 

ver un ejemplo aquí (puede que tenga que reducir el tamaño de la ventana por lo que el padre tiene ninguna necesidad de desplazarse): http://jsfiddle.net/VYcDZ/51/

1

encontré con este problema esta noche ... no vio a nadie tenía la respuesta, así que escribí hasta

var blockScrollTarget;  
$('.jscroll').mousewheel(blockScroll); 
     ...... 
    function blockScroll(e) { 
     blockScrollTarget = blockScrollTarget || $(e.currentTarget); 
     var d = blockScrollTarget.data('jsp'); 
     if(d.getPercentScrolledY() == 1 || d.getPercentScrolledY() == 0) { 
      return true; 
     } 
     if(d.getIsScrollableV()) { 
      e.preventDefault(); 
     } 
     } 
0

las respuestas anteriores no funcionó para mí. Si se siente cómodo con la edición de la fuente del plugin, puede exponer los métodos internos relevantes a la API pública:

// Public API 
$.extend(
    jsp, 
    { 

     ... 

     initMousewheel : function(){ 
     initMousewheel(); 
     }, 
     removeMousewheel : function(){ 
     removeMousewheel(); 
     } 

    } 
); 

Ahora puede condicionalmente y pragmáticamente eanable/desactivar el desplazamiento de cualquier JScrollPane:

api = $('#full-page-container').data('jsp'); 
api.removeMousewheel(); // disable 
api.initMousewheel(); // enable