¿Es posible cambiar la posición de la barra de desplazamiento cuando el usuario llega a cierto punto desplazándose hacia abajo en una página web? Por ejemplo, una vez que llegue a la mitad de la página, la barra de desplazamiento se moverá automáticamente a la parte superior.Cambio de la posición de la barra de desplazamiento
Respuesta
Se puede calcular el porcentaje de la posición actual de la barra de desplazamiento utilizando el evento onscroll, y si alcanza el 50% de la posición de desplazamiento se puede ajustar a la parte superior de la página con la función scrollTo:
window.onload = function() {
window.onscroll = function() {
var doc = document.body,
scrollPosition = doc.scrollTop,
pageSize = (doc.scrollHeight - doc.clientHeight),
percentageScrolled = Math.floor((scrollPosition/pageSize) * 100);
if (percentageScrolled >= 50){ // if the percentage is >= 50, scroll to top
window.scrollTo(0,0);
}
};
};
Puede consultar mi ejemplo here.
Sí, lo he visto algunas veces. Aquí hay un código JS:
window.scrollBy (0,50)
50 es la cantidad de píxeles que desea desplazarse por.
(window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop) debe darle la posición de desplazamiento actual en casi cualquier navegador.
Las tres funciones de desplazamiento con las que querrá ocuparse son window.scroll(x,y)
, window.scrollBy(dx,dy)
y window.scrollTo(x,y)
.
Como mencionó David, necesitará la posición de desplazamiento para saber dónde se encuentra y utilizar el evento window.onscroll
para disparar este cálculo.
¿Están disponibles en todos los navegadores o se requiere alguna función de detección? –
- 1. ¿Cambiar la posición de la barra de desplazamiento en TextBox?
- 2. posición extraña de la barra de desplazamiento de iScroll
- 3. PrimeFaces barra de desplazamiento de datos en la posición deseada
- 4. Configurar una posición de la barra de desplazamiento
- 5. js/css: desactivar la barra de desplazamiento, pero mantener la posición de desplazamiento
- 6. cómo mantener la posición de la barra de desplazamiento en la vista de lista de Android?
- 7. Establecer la posición de desplazamiento
- 8. Cómo hacer un marcador de posición de barra de desplazamiento
- 9. Configuración de la posición de la barra de desplazamiento de un ListBox
- 10. CListCtrl: ¿Cómo mantener la posición de desplazamiento?
- 11. ¿Cómo obtener la posición de la barra de desplazamiento con Javascript?
- 12. Opacidad Div basada en la posición de la barra de desplazamiento
- 13. Cómo recuperar la posición de la barra de desplazamiento del control webbrowser en .NET
- 14. Establecer grosor de la barra de desplazamiento
- 15. Desplazamiento de la barra de desplazamiento del navegador
- 16. ¿Cómo sincronizo la posición de desplazamiento de dos divisiones?
- 17. CSS establecer la posición de desplazamiento predeterminada
- 18. Mostrar div cuando la posición de desplazamiento
- 19. Cambio de la posición del diálogo en la pantalla androide
- 20. La barra de desplazamiento no aparece en la página web
- 21. QTextEdit cambio de color de fondo también el color de la barra de desplazamiento
- 22. Deshabilitar la barra de desplazamiento del navegador
- 23. Ocultar la barra de desplazamiento en WebView
- 24. Cómo mostrar siempre la barra de desplazamiento
- 25. Aumentar autocompletar la barra de desplazamiento tamaño
- 26. Agregar barra de desplazamiento a la tabla
- 27. Barra de desplazamiento personalizada UITableView
- 28. cómo recordar la posición de desplazamiento de la página
- 29. Posición fija - Desplazamiento horizontal
- 30. Presente UIPopoverController en la misma posición con el cambio de desplazamiento de flecha simple
@CMS: ¡Excelente respuesta! – Josh
window.scrollTo (0,0); no funciona para mí en chomre – SuperUberDuper