Estoy enviando algunos datos a mi base de datos y luego volviendo a cargar la misma página que estaba acabando el usuario. Me preguntaba si hay alguna manera de recordar la posición de desplazamiento que el usuario acaba de usar.cómo recordar la posición de desplazamiento de la página
Respuesta
me di cuenta de que me había perdido la parte importante de enviar, por lo tanto, decidí ajustar el código para almacenar la cookie en el evento de clic en lugar de la forma original de almacenarlo mientras se desplaza.
Aquí está una manera jQuery de hacerlo:
jsfiddle (Sólo tiene que añadir /show
al final de la URL si quieres verla fuera de los marcos)
muy importante, Necesitaremos el jquery cookie plugin.
jQuery:
// When document is ready...
$(document).ready(function() {
// If cookie is set, scroll to the position saved in the cookie.
if ($.cookie("scroll") !== null) {
$(document).scrollTop($.cookie("scroll"));
}
// When a button is clicked...
$('#submit').on("click", function() {
// Set a cookie that holds the scroll position.
$.cookie("scroll", $(document).scrollTop());
});
});
Aquí todavía el código de la respuesta original:
jQuery:
// When document is ready...
$(document).ready(function() {
// If cookie is set, scroll to the position saved in the cookie.
if ($.cookie("scroll") !== null) {
$(document).scrollTop($.cookie("scroll"));
}
// When scrolling happens....
$(window).on("scroll", function() {
// Set a cookie that holds the scroll position.
$.cookie("scroll", $(document).scrollTop());
});
});
@ La respuesta de Cody me recordó algo importante.
Solo lo hice para verificar y desplazarme hacia la posición verticalmente.
bam! eso funcionó perfectamente, solo agregué lo que tenía en mi código y funcionó al instante :) gracias muchísimo. – HurkNburkS
Probablemente, dado que estoy en jQuery v1.5.1 (?), Tuve que usar esta variante para que funcione: $ (ventana) .scroll (function() {// set cookie}); – fiat
@fiat Sí. El método '.on()' se agregó en jquery 1.7. – Joonas
Bueno, si utiliza _targets en su código, puede guardar eso.
O bien, puede hacer una solicitud de ajax para obtener window.height.
document.body.offsetHeight;
luego dejar caer de nuevo, dar a la variable javascript y mover la página para ellos.
(1) Solución 1:
primer lugar, obtener la posición de desplazamiento de JavaScript al hacer clic en el botón de envío.
En segundo lugar, incluya este valor de posición de desplazamiento en los datos enviados a la página PHP.
En tercer lugar, el código PHP debe escribir de nuevo este valor en el HTML generado como una variable JS:
<script>
var Scroll_Pos = <?php echo $Scroll_Pos; ?>;
</script>
En cuarto lugar, utilizar JS para desplazarse a la posición especificada por la variable JS 'Scroll_Pos'
(2) Solución 2:
Guarde la posición en cookie, luego use JS para desplazarse a la posición guardada cuando la página se recargó.
bien, gracias ... va a tener que hacer un montón de investigación, entonces ... bastaría con un poco más de lo que esperaba. – HurkNburkS
Almacenar la posición en un campo oculto.
<form id="myform">
<!--Bunch of inputs-->
</form>
que con jQuery almacenar el scrollTop y scrollLeft
$("form#myform").submit(function(){
$(this).append("<input type='hidden' name='scrollTop' value='"+$(document).scrollTop()+"'>");
$(this).append("<input type='hidden' name='scrollLeft' value='"+$(document).scrollLeft()+"'>");
});
que en la siguiente recarga hacer una redirección o imprimirlos con PHP
$(document).ready(function(){
<?php
if(isset($_REQUEST["scrollTop"]) && isset($_REQUEST["scrollLeft"]))
echo "window.scrollTo(".$_REQUEST["scrollTop"].",".$_REQUEST["scrollLeft"].")";
?>
});
- 1. Recordar la posición de desplazamiento en el elemento QML
- 2. Establecer la posición de desplazamiento
- 3. Fuerza la posición de desplazamiento de la página hacia arriba al actualizar la página en HTML
- 4. CListCtrl: ¿Cómo mantener la posición de desplazamiento?
- 5. ¿Cómo obtener y configurar la posición de desplazamiento de la página web actual?
- 6. Cambio de la posición de la barra de desplazamiento
- 7. Mantener la posición de desplazamiento en cuadros de lista en paneles de actualización, NO la página
- 8. CSS establecer la posición de desplazamiento predeterminada
- 9. cómo establecer la posición de desplazamiento en uiwebview
- 10. Obtener la posición del ratón en desplazamiento
- 11. ¿Cómo mantengo la posición de desplazamiento en MVC?
- 12. Mostrar div cuando la posición de desplazamiento
- 13. ¿Cómo obtener la posición de desplazamiento máxima de una página con precisión?
- 14. Cómo animar la posición de desplazamiento? Cómo desplazarse sin problemas?
- 15. ¿Cómo evitar el reinicio de la posición de desplazamiento de la página después de la manipulación del DOM?
- 16. ¿Cómo obtengo la posición de desplazamiento de un documento?
- 17. Cómo obtener la última posición de vista de desplazamiento, scrollview
- 18. ¿Cómo sincronizo la posición de desplazamiento de dos divisiones?
- 19. ¿Cómo puedo establecer la posición de desplazamiento de un UIScrollView?
- 20. Cómo mantener la página de posición de desplazamiento después de una devolución de datos en asp.net página
- 21. Jquery soluciona la posición div cuando div alcanza la posición de pantalla, no la posición de desplazamiento
- 22. posición de desplazamiento con jQuery
- 23. js/css: desactivar la barra de desplazamiento, pero mantener la posición de desplazamiento
- 24. ¿Cambiar la posición de la barra de desplazamiento en TextBox?
- 25. ¿Cómo obtener la posición de desplazamiento desde GridView?
- 26. ¿Cómo puedo obtener la posición de desplazamiento actual en UIWebView
- 27. posición extraña de la barra de desplazamiento de iScroll
- 28. Fix thead en la página de desplazamiento
- 29. cómo mantener la posición de la barra de desplazamiento en la vista de lista de Android?
- 30. Cómo hacer desplazamiento modal con la página principal
¿Qué tal las cookies? – VisioN
almacene la posición de desplazamiento actual en una cookie, luego vuelva a utilizarla mientras carga la página –