Tôi có một div có số lượng lớn các mục trong đó. Tôi chọn các mục này một cách linh động bằng cách nhấp vào một nút, tràn tự động trong trường hợp của tôi. Điều tôi muốn là khi một mục không hiển thị được chọn để cuộn div để có thể nhìn thấy được. Tôi có thể làm cái này như thế nào?DIV tự động cuộn
Trả lời
Bạn có thể sử dụng scrollTop tài sản của phần tử html để thiết lập số lượng nội dung của nó được cuộn bằng.
Và bạn có thể nhận số tiền bạn cần để cuộn theo số offsetTop của phần tử mà bạn muốn cuộn.
Ví dụ với HTML này:
<div id="container">
<p id="item-1">foo</p>
<p id="item-2">bar</p>
<p id="item-3">baz</p>
</div>
Bạn có thể sử dụng JavaScript này để di chuyển div container để đoạn thứ ba:
document.getElementById("container").scrollTop = document.getElementById("item-3").offsetTop;
Khi nút của bạn được nhấp và một mục được chọn, hãy gọi phương thức focus() của mục đã chọn này. điều này sẽ gây ô tô di chuyển đến phần tử của bạn:
<div style="height:80px; overflow:auto;">
<input type="text" id="id1"><br><br>
<input type="text" id="id2"><br><br>
<input type="text" id="id3"><br><br>
<input type="text" id="id4"><br><br>
<input type="text" id="id5"><br><br>
<input type="text" id="id6"><br><br>
</div>
<input type="button" onclick="document.getElementById('id6').focus();">
này dường như không làm việc cho thường xuyên "div" yếu tố (ít nhất, không phải trong Safari 4 hoặc Firefox 3). –
Tôi không thử Safari nhưng Firefox 3 hoàn toàn hoạt động. – Canavar
Mã bạn đã viết ở đó hoạt động hoàn hảo. Tuy nhiên, nếu bạn thay thế các phần tử "đầu vào" bằng các phần tử "div", việc tập trung phần tử div dường như không di chuyển đến phần tử đó. Xem http://cloud.quintusquill.com/dropbox/ScrollTest.html để biết ví dụ. –
Bạn cũng có thể sử dụng thuộc tính scrollTop hoặc scrollLeft của DIV (tùy thuộc vào cuộn cuộn nằm ngang hay dọc).
Tôi đã thực hiện việc này trước và sử dụng sự kiện setTimeout để làm cho nó cuộn trôi chảy, thay vì trong 1 chuyển động. Điều này là không có JQuery tho.
Một tùy chọn khác ... neo.
Gán mỗi mục một ID duy nhất, và khi bạn muốn di chuyển đến một mục cụ thể, thực thi mã JavaScript sau:
location.hash = itemID;
... nơi itemID
là một biến có chứa ID của phần tử bạn muốn cuộn đến.
Steve
- 1. jQuery prepend - ngăn chặn tự động cuộn
- 2. Tự động cuộn một Textarea
- 3. tự động cuộn xuống dưới khi tự động tràn
- 4. Làm cách nào để tự động cuộn khi nội dung được thêm vào div?
- 5. Css cuộn tràn không hoạt động trong div
- 6. Cuộn ngang Div
- 7. Jquery cuộn đến thẻ div
- 8. div cố định có nội dung động không cuộn
- 9. Liên kết cuộn sự kiện thành DIV động?
- 10. Div với cuộn ngang chỉ
- 11. JScrollPane và JList tự động cuộn
- 12. Ngăn cuộn ngang tự động trong TreeView
- 13. QGraphicsView: Vô hiệu hoá tự động cuộn
- 14. javafx tableview tự động cuộn đến
- 15. lấy chiều cao cho div với tràn: tự động;
- 16. Cuộn các DIV tràn với JavaScript
- 17. Hiển thị thanh cuộn dọc Div
- 18. Tự động làm mới Jquery div
- 19. Căn giữa div chiều rộng tự động?
- 20. Cuộn một div bằng jQuery
- 21. Cuộn trở lại đỉnh div
- 22. Cuộn bên ngoài div sẽ cuộn nội dung
- 23. Cuộn ngang cuộn HTML div ở đầu div mà không cần jquery
- 24. Android :: Webview xóa thanh cuộn cho DIV
- 25. Thay đổi cuộn của một div ẩn
- 26. DIV Thanh cuộn dọc trên bên trái
- 27. Thực hiện Div cố định khi cuộn
- 28. Div tuyệt đối không cuộn với trang
- 29. jQuery - Cuộn xuống cuối div trên slideDown
- 30. Tạo kiểu thanh cuộn CSS3 trên div
Có lỗi đánh máy trên js document.getElementById ("vùng chứa"). ScrollTop –
Cảm ơn Fatih. Đã sửa. –