Estoy tratando de animar durante el desplazamiento, pero la suerte con mi código…
Tengo este jquery
$(window).scrollTop(200);
Ahora quería dar un efecto de animación
Lo intentó, pero no funciona:
1. $(window).animate({scrollTop:200},1000);
2. $('body').animate({scrollTop: 200}, 1000);
He aplicado esto en función de clic como este:
$('.goto').click(function(){
$(window).scrollTop(485); //its working
});
Y ahora quiero dar el efecto de animar pero no funciona…
Tienes que utilizar
$('html,body')
en lugar de$(window)
porquewindow
no tiene un scrollTop propiedad.JS:
CSS:
HTML:
$('html,body')
y$(body)
, pero en firefox funciona para$('html,body')
y$(html)
. Obviamente elscrolltop
tiene algunos problemas de compatibilidad del navegador. Sin embargo, el uso$('html,body')
, que parece funcionar para ambos.$('html')
y mi cliente se quejó de que no funciona en safari.$('html, body')
de las grandes obras.si usted tiene html y estilo de cuerpo height:100%; no su trabajo
uso
height:100%
y que estaba causando todo tipo de extraños problemas de desplazamiento, especialmente en el móvil…height: 100%
porque de notas de pie de página de la técnica 🙂sólo se necesita añadir píxeles
DEMO
Estoy usando Angular y estaba tratando de desplazarse a un elemento que se ha añadido en un ng-repeat. Pongo este código dentro de un
$timeout
(con cero tiempo, sólo para hacer que suceda después de que los elementos de la muestra) y esto fue suficiente para que el nuevo elemento a tener unoffset().top
……pero creo que fue demasiado, va a agregar docenas de nuevos elementos, por lo que no tienen el poder de procesamiento para desplazarse a animar. Cuando me puse el tiempo de espera de 1 segundo, funcionaba (aunque en realidad tomó 7 segundos antes de que el tiempo de espera llamaron).
Llegué a la conclusión de que la animación, desplazamiento suave de no estar realmente manejable aquí, y en su lugar estoy usando
He tenido este problema así y se dio cuenta de que el problema estaba dentro de la CSS.
En mi caso, necesitaba quitar el overflow-x: hidden; de la etiqueta HTML.
Quitar:
Entonces, funcionó.
Espero que ayude a alguien!