我的页面以编程方式将#添加到html中并将其添加到标记
中function InsertTag(){
//Add <a name="spot"></a> to the middle of this document
}
window.addEventListener('load', InsertTag, false);
我的问题是如何让文档转到#spot?
答案 0 :(得分:1)
这是一个建议:改用id。如果你有:
<div id="something">
然后page.html#something
会直接转到那个div。它不必是div
,它可以用于任何元素。如果你可以操纵DOM来添加那个锚,我很确定你能够做到这一点。
现在......要到达那里,你可以使用:
// this approach should work with anchors too
window.location.hash = 'something';
// or scroll silently to position
var node = document.getElementById('something');
window.scroll(0, node.offsetTop);
在此处查看此行动:http://ablazex.com/demos/jump.html
这些方法之间存在细微差别。例如:第一个将导致地址栏上的位置更新,第二个将不会。
如果你希望它看起来更好,你可以使用jQuery插件,如ScrollTo。
答案 1 :(得分:0)
尝试
window.location = currentUrl+'#spot'
;
其中currentUrl是具有当前URL地址的变量
答案 2 :(得分:0)
你可以试试这个。
var el = document.getElementById('spot');
var eloffsetTop = el.offsetTop;
window.scroll(0,eloffsetTop);