我使用此脚本来检查锚是否在URL中。如果找到,则会调用 showscroll 函数。 唯一不起作用的是跳转到被叫锚点。 我是JS的新手 - 这个函数出了什么问题?
在HTML页面中:
<script type="text/javascript">
<!--
function checkurl(){
if (window.location.href.match(/\#more/))
{
showscroll('more');
}
if (window.location.href.match(/\#tab2/))
{
showscroll('tab2');
}
}
//-->
</script>
</head>
<body onload="checkurl()">
.JS
function showscroll(id){
if (document.getElementById) {
var divid = document.getElementById(id);
divid.style.display = divid.style.display='block';
// NOT WORKING:
window.location.href = "#"+id;
//
return false;
} }
编辑:我无法使用“滚动到视图”。
答案 0 :(得分:5)
而不是
window.location.href.match(/\#more/)
你可以做到
window.location.hash == '#more'
而不是分配给片段,您可以使用https://developer.mozilla.org/en/DOM/element.scrollIntoView
中所述的scrollIntoView
方法
<强>摘要强>
scrollIntoView()
方法将元素滚动到视图中。<强>语法强>
element.scrollIntoView(alignWithTop);
alignWithTop
可选如果为true,则滚动元素与滚动区域的顶部对齐。如果为false,则与底部对齐 注意:默认情况下,滚动元素以与滚动区域的顶部对齐。