我一直在努力弄清楚这一点,但我一直在迷惑自己,无处可去。
我有一个博客,所有帖子都按时间顺序从 1 到 X(类)编号,博客的每个页面显示 10 个帖子,每个都有一个编号的 anchor (post1、post2 等)。
如果用户没有通过单击链接到达 anchor ,我无法弄清楚如何检索当前显示在屏幕上的元素的 anchor 的 ID/类/名称(滚动条所在的位置)。
这能做到吗?我正在尝试用 JavaScript 对其进行编码,但我不知道从哪里开始,向正确的方向点头会很有帮助。
最佳答案
如果 anchor 的 id/name 不在 URL 中,那么您可以尝试组合一个函数来获取元素的绝对位置
function pos(e) {
var o = {left:e.offsetLeft, top:e.offsetTop};
while (e=e.offsetParent)
o.left = o.left + e.offsetLeft,
o.top = o.top + e.offsetTop;
return o;
}
循环遍历 document.getElementsByTagName('a')
(或您要检查的其他一些节点列表)
并检查window.scrollY <= o.top && o.top <= window.scrollY + window.innerHeight
查找是否 <a>
在窗口中。
关于javascript - 我可以检索当前的 anchor 位置吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13597305/