当我使用书签时,我能否在URL路径中指定偏移量?
比如说我有这个路径:mywebsite.com/mypage#bookmark
我想把书签部分居中显示,而不是在页面顶部。
我想知道是否可以像这样指定偏移量:..mypage#bookmark&y-offset=100
也许我可以使用JavaScript来获取该值。谢谢!
当我使用书签时,我能否在URL路径中指定偏移量?
比如说我有这个路径:mywebsite.com/mypage#bookmark
我想把书签部分居中显示,而不是在页面顶部。
我想知道是否可以像这样指定偏移量:..mypage#bookmark&y-offset=100
也许我可以使用JavaScript来获取该值。谢谢!
目前没有本地方法可以实现此功能,但您可以在ID和偏移之间定义一个分隔符,例如/
,然后解析它。
例如:
/path/to/page#id/200
然后,您可以解析出该值并手动将其向前移动。请注意,如果您已经在页面上并且正在移动到页面上的锚点,则不知道如何触发此事件(有人可以告诉我吗?)
function moveToHash() { function offset(node) { var x = 0, y = 0; do { x += node.offsetLeft; y += node.offsetTop; } while (node = node.offsetParent); return {x: x, y: y}; } var id = location.search.match(/([^\/]+)/)[1]; var offset = location.search.match(/\/(.+)/)[1] * 1; var nodeOffset = offset(document.getElementById(id)); window.scrollTo(nodeOffset.x, nodeOffset.y); window.scrollBy(0, offset); }