js锚点问题:click无法跳转,mouseover正常

js锚点问题:mouseover正常,click跳转后又回到顶端,

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">


New Document




<br> &lt;!--<br> function aa(num)<br> {<br> //var index=parseInt(num);<br> var index=parseInt(num);<br> document.location=&#39;#&#39;+document.anchors[index].name;<br> //alert(document.location);<br> }<br> //--&gt;<br>









a
b
c
document对象


aaaaaaaaaaaaa


bbbbbbbbbbbbbbbbbb


ccccccccccccc



















































document对象




在你的document.location那一行代码后面,随便加上一个alert语句看看就知道效果了,我估计是代码确实已经调用了,也达到那个效果了,但因为是点击事件,修改的location的值是当前点击的那个链接的值,也就是"#",所以又返回点击的那一行了.

你可以使用a这种方式!

应该不是document.location吧,一般都是用location.href=url;
楼主,锚点不是这么用的.
以下是解决方案:
[code="js"]
function aa(o, num){
o.href="#" + document.anchors[num].name;
o.click();
}
[/code]
[code="html"]
a
b
c
d
[/code]

1楼的解答是因为省去了href="#"这一段,而直接在href里面写js代码.这样也可以,但总感觉很别扭.
如果跳转的锚点是写死的话,不妨直接在链接里面写上href="#anchorName",省得去费n长的代码实现同样的功能...