动态转到HTML文档位置

时间:2010-09-02 05:44:58

标签: javascript html

我的页面以编程方式将#添加到html中并将其添加到标记

function InsertTag(){
//Add <a name="spot"></a> to the middle of this document
}

window.addEventListener('load', InsertTag, false);

我的问题是如何让文档转到#spot?

3 个答案:

答案 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);