我正在尝试在JavaScript中创建一个将用户带到HTML锚点的函数。唯一的问题是,我正在尝试在.aspx页面中的SharePoint中创建它......
我有一个隐藏的表,我用JavaScript函数取消隐藏,但表位于页面的底部,所以我在表旁边添加了一个锚点并试图超链接到它...但它不起作用......这是我的代码:
function GoTo() {
window.location.hash="change"
}
<a name="change"></a>
有什么想法吗?
答案 0 :(得分:0)
将您的window.location.hash = "change"
更改为window.location.href = "#change"
我已经测试了这个,这适用于IE8,Chrome,FF,Safari。
可能有另一种方式:
function scrollToAnchor(anchorName){
//set the hash so people can bookmark
window.location.hash = anchorName;
//scroll the anchor into view
document.getElementsByName(anchorName)[0].scrollIntoView(true);
}
如果哈希方法不起作用,请尝试将窗口设置为小尺寸,以便跳转到哈希标记
答案 1 :(得分:0)
我刚尝试过,它对我有用。尝试将#change
添加到地址栏,看看它是否符合您的预期。
答案 2 :(得分:0)
JD-Daz -
根据您的简要规范,我创建了这个简单的测试页面,它似乎有效。也许您应该将自己的页面复制并粘贴到新页面中,然后将其删除直至其工作:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script language="javascript">
function GoTo() {
var myTable = document.getElementById("myTable");
myTable.style.visibility = "visible";
window.location.hash = "change";
}
</script>
</head>
<body>
<a href="javascript:GoTo();">Click Here</a><br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
16<br />
17<br />
18<br />
19<br />
20<br />
21<br />
22<br />
23<br />
24<br />
25<br />
26<br />
27<br />
28<br />
29<br />
30<br />
<table id="myTable" border="1" width="500" style="visibility:hidden" backcolor="black">
<tr>
<td>Shown</td><td> </td><td> </td><td> </td>
</tr>
<tr>
<td> </td><td> </td><td> </td><td> </td>
</tr>
<tr>
<td> </td><td> </td><td> </td><td> </td>
</tr>
<tr>
<td> </td><td> </td><td> </td><td> </td>
</tr>
</table>
<a name="change"></a>
</body>
</html>
答案 3 :(得分:0)
要解决您的问题,请转到按钮
<input type="button" value="Request For Change" onclick="GoTo(); return false;">
问题是input type="button"
会在点击时提交页面。因此,当您单击它时,它会向下滚动到您的锚元素,但随后会重新加载页面,从而无法实现目的。您需要将return false
添加到onclick
处理程序的末尾以禁止默认操作。
此外,onclick
应该全部为小写。
答案 4 :(得分:0)
我认为你想使用<a href="#change" onclick="unhide table code here">link text</a>
。