使用书签时,我可以在网址路径中指定y偏移量吗?
假设我有这条道路:mywebsite.com/mypage#bookmark
我想将书签部分置于页面中间而不是顶部。
我想知道我是否可以指定类似..mypage#bookmark&y-offset=100
也许我可以使用javascript来获取该值.. 感谢
答案 0 :(得分:1)
没有本地方法可以做到这一点,但你可以做的是在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); }