Tôi đang gửi một số dữ liệu vào cơ sở dữ liệu của mình, sau đó tải lại cùng một trang khi người dùng đang bật, tôi đã tự hỏi liệu có cách nào để nhớ vị trí cuộn mà người dùng đã bật không?Làm thế nào để nhớ vị trí cuộn của trang
Trả lời
Tôi nhận ra rằng tôi đã bỏ lỡ một phần quan trọng về việc gửi, vì vậy, tôi đã quyết định tinh chỉnh mã để lưu trữ cookie trên sự kiện nhấp thay vì cách lưu trữ ban đầu trong khi cuộn.
Đây là một cách jquery để làm việc đó:
jsfiddle (Chỉ cần thêm /show
vào cuối url nếu bạn muốn xem nó ở ngoài khung)
Rất quan trọng, bạn sẽ cần số 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());
});
});
đây vẫn là mã từ câu trả lời ban đầu:
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());
});
});
@ Câu trả lời của Cody nhắc tôi về điều gì đó quan trọng.
Tôi chỉ làm cho nó để kiểm tra và cuộn đến vị trí theo chiều dọc.
bam! mà làm việc ra hoàn hảo, chỉ cần thêm những gì bạn đã vào mã của tôi và nó làm việc ngay lập tức :) cảm ơn một tấn. – HurkNburkS
Có lẽ kể từ khi tôi đang trên jQuery v1.5.1 (?), Tôi đã phải sử dụng biến thể này để làm cho nó hoạt động: $ (window) .scroll (function() {// set cookie}); – fiat
@fiat Có. Phương thức '.on()' được thêm vào trong câu lệnh jquery 1.7. – Joonas
Vâng, nếu bạn sử dụng _targets trong mã của mình, bạn có thể lưu điều đó.
Hoặc bạn có thể thực hiện yêu cầu ajax để nhận cửa sổ.hình ảnh.
document.body.offsetHeight;
Sau đó thả lại, chuyển javascript và di chuyển trang cho chúng.
(1) Giải pháp 1:
Đầu tiên, lấy vị trí cuộn bởi JavaScript khi nhấp vào nút gửi.
Thứ hai, bao gồm giá trị vị trí cuộn này trong dữ liệu được gửi tới trang PHP.
Thứ ba, mã PHP nên viết lại giá trị này vào HTML được tạo ra như một biến JS:
<script>
var Scroll_Pos = <?php echo $Scroll_Pos; ?>;
</script>
Thứ tư, sử dụng JS để di chuyển đến vị trí xác định bởi các biến JS 'Scroll_Pos'
(2) Giải pháp 2:
Lưu vị trí vào cookie, sau đó sử dụng JS để cuộn đến vị trí đã lưu khi trang được tải lại.
okay cảm ơn .. sẽ phải làm một loạt các nghiên cứu sau đó .. khá abit hơn trong nó hơn tôi đã mong đợi. – HurkNburkS
Lưu vị trí trong trường bị ẩn.
<form id="myform">
<!--Bunch of inputs-->
</form>
hơn với jQuery lưu trữ các scrollTop và 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()+"'>");
});
Thân tải lại tiếp theo làm một chuyển hướng hoặc in chúng với PHP
$(document).ready(function(){
<?php
if(isset($_REQUEST["scrollTop"]) && isset($_REQUEST["scrollLeft"]))
echo "window.scrollTo(".$_REQUEST["scrollTop"].",".$_REQUEST["scrollLeft"].")";
?>
});
- 1. Chrome nhớ vị trí cuộn
- 2. Làm thế nào để phát hiện vị trí cuộn của trang bằng cách sử dụng jQuery
- 3. Làm cách nào để đặt vị trí cuộn của UIScrollView?
- 4. Đặt vị trí cuộn
- 5. Nhớ vị trí cuộn trong phần tử QML
- 6. jquery làm thế nào để có được vị trí trên màn hình hiện tại của trang?
- 7. Làm thế nào để duy trì vị trí cuộn trang sau khi một postback trang trong asp.net
- 8. Làm thế nào để điều khiển vị trí cuộn của tia lửa Datagrid trong Flex?
- 9. Vị trí cuộn trang lực lên đầu trang làm mới trang trong HTML
- 10. Làm cách nào để cho phép chrome quên vị trí cuộn trang?
- 11. vị trí lạ của thanh cuộn iScroll
- 12. WinForms ListView, Nhớ vị trí cuộn trên Tải lại
- 13. Làm thế nào để xử lý vị trí cuộn trên hashchange trong ứng dụng Backbone.js?
- 14. Làm mới vị trí cuộn của UITextView trên iPhone
- 15. Khôi phục trang cuộn vị trí với jQuery
- 16. Làm cách nào để giám sát vị trí cuộn trong khi cuộn trong Safari trên iOS?
- 17. Đặt vị trí thanh cuộn
- 18. Làm thế nào để thiết lập vị trí của "JOptionPane.showMessageDialog"
- 19. Làm cách nào để ngăn đặt lại vị trí cuộn của trang sau khi thao tác DOM?
- 20. Làm thế nào để kiểm tra trang trí hàm Python?
- 21. Làm thế nào để duy trì vị trí cuộn trong NSScrollView khi thay đổi tỷ lệ?
- 22. Vị trí của bộ nhớ đệm ASP.NET
- 23. thay đổi vị trí của phần tử css sau khi cuộn xuống trang
- 24. Làm thế nào để cuộn UITableView đến một vị trí nhất định?
- 25. Làm cách nào để đồng bộ hóa vị trí cuộn của hai div?
- 26. Làm cách nào để lấy vị trí cuộn của tài liệu?
- 27. C#: Đồng bộ hóa vị trí cuộn của hai RichTextBoxes?
- 28. cách đặt vị trí cuộn trên uiwebview
- 29. Thay đổi vị trí thanh cuộn
- 30. Vị trí cuộn ban đầu của trang web iOS7 dưới Thanh điều hướng
Làm thế nào về cookie? – VisioN
lưu trữ vị trí cuộn hiện tại trong cookie, sau đó sử dụng lại nó trong khi tải trang –