2012-08-08 10 views
7

Estoy usando Jquery nice Barra de desplazamiento para div, pero cuando el contenido de div aumenta dinámicamente, no muestra la barra de desplazamiento. La barra de desplazamiento predeterminada de Windows funciona bien si elimino el desplazamiento agradable. ¿Alguien me puede ayudar a resolver este problema?Jquery Nice scroll no funciona

HTML

<div id="div-to-scroll"> 
</div> 

Guión

$(document).ready(function(e) { 
    var nice = $("#div-to-scroll").getNiceScroll(); 
    $("#div-to-scroll").niceScroll(); 
    $("#div-to-scroll").getNiceScroll().resize(); 
}); 

esta es mi ejemplo de código.

+0

¿Puede mostrar su solución? – stetro

+0

no tengo solución. – gaurang171

+0

sry ;-) Compré el estado del código actual :-) – stetro

Respuesta

16

Finalmente esto funciona para mí.

$("#div-to-scroll").scroll(function(){ 
    $("#div-to-scroll").getNiceScroll().resize(); 
}); 
1

Algunas razones posibles:
1- Tal vez se olvidó de especificar su altura de div. arregla tu div Altura.
2- también si su div es flotante en ancho, corrija ese ancho también.
remmember que su estilo DIV debe tener: overflow-y: hidden;
ACTUALIZACIÓN función
trate de usar cambiar el tamaño() cada vez que se desplaza hacia abajo:

$("div-to-scroll").slideDown(function(){ 
    $("div-to-scroll").getNiceScroll().resize(); 
}); 
+0

Sí, todo lo que he hecho. la cosa es cuando la ventana de carga funciona, pero después de que empiece a anexar contenido no funciona. – gaurang171

+0

@ keyuratcodebins.com ¿Qué sucede después de agregar contenido? ¿deja de desplazarse o muestra todo el contenido al mismo tiempo? – osyan

+0

deja de desplazarse – gaurang171

9

para mí funciona igual con

$("#div-to-scroll").mouseover(function() { 
    $("#div-to-scroll").getNiceScroll().resize(); 
}); 
+0

¿De dónde vino el 'mouseover'? – Blazemonger

1
$("html").mouseover(function() { 
    $("html").getNiceScroll().resize(); 
}); 

Para obtener la barra de desplazamiento en todo el cuerpo

+0

La segunda línea tiene un '' 'extra. – Raptor

+1

@Raptor Sí, solo sigue la sintaxis. (El selector es inmaterial aquí) –

2

ACTUALIZACIÓN: nueva función encontrado!

var setScroll = function(i) { 
     if($(i).length>0) 
     $(i).niceScroll().updateScrollBar(); 
} 

llamar a esta función para actualizar niceScroll

setScroll(".classWithNiceScroll"); 
1

Haga esto:

// Scroll X Axis 
$("#mydiv").getNiceScroll()[0].doScrollLeft(x, duration); 
// Scroll Y Axis - 
$("#mydiv").getNiceScroll()[0].doScrollTop(y, duration); 

o:

// Scroll X Axis 
$("#mydiv").getNiceScroll(0).doScrollLeft(x, duration); 
// Scroll Y Axis - 
$("#mydiv").getNiceScroll(0).doScrollTop(y, duration); 

Nota [0] después getNiceScroll()

+0

Esto funcionó para mí. – Banago