Có mối liên hệ có thể dự đoán được giữa số nguyên tố của một yếu tố <a>
và giá trị của scrollTop
sau khi điều hướng đến yếu tố <a>
đó không?javascript: sự khác biệt giữa scrollTop và offsetTop
Tôi đã ngây thơ giả định rằng chúng sẽ bằng nhau, nhưng tôi đã gặp phải các trường hợp trong đó scrollTop
lớn hơn (vị trí cuộn tiếp tục xuống dưới trang).
Sau đây xác định các câu hỏi một cách chính xác hơn:
function TotalOffsetTop (e)
{
var offset = 0;
do
offset += e.offsetTop;
while (e = e.offsetParent);
return offset;
}
//navigate to MyBookmark
location.hash = "#MyBookmark"
var BookmarkOffsetTop = TotalOffsetTop(document.getElementByID("MyBookmark"));
var CurrentPosition = document.getElementsByTagName("body")[0].scrollTop;
if (CurrentPosition != BookmarkOffsetTop) alert("Design Flaw!");
mục tiêu cuối cùng của tôi là để tìm ra <a>
thẻ gần mà bắt đầu là ở trên đỉnh của khung nhìn hiện hành. Điều này là để tôi có thể nhảy lùi (và chuyển tiếp) đến các dấu trang liên quan đến vị trí hiện tại trong tài liệu.
Có một số biện pháp khác tôi nên sử dụng thay vì scrollTop
và cummulative offsetTop
?
Tôi đang khám phá sự cố khi sử dụng Chrome, nhưng cuối cùng tôi muốn tìm thứ gì đó hoạt động trong ít nhất một số trình duyệt hiện đại. Tôi đang cố gắng tránh jQuery.
1 cho cố gắng để tránh jQuery –
Hy vọng bạn có thể chấp nhận câu trả lời không? – Sampath