我无法理解为什么此功能在Edge上无法正常工作。
function contactos(thi)
{
var contactos = document.getElementById('contactos');
window.scrollTo(0, contactos.offsetTop - 160 );
}
这是html
<a href="javascript:void(0)" onclick="contactos(this)">Contatos</a>
答案 0 :(得分:0)
我刚刚在Edge上测试了window.scrollTo()
,它按预期工作。
唯一想到的是,contactos
可能不存在,或者它没有offsetTop
属性。调试它:
document.getElementById('contactos')
undefined
以外的其他内容,则存在。document.getElementById('contactos').offsetTop
undefined
以外的其他内容,则存在。如果您成功到达最后一点,那是因为代码中的其他位置存在问题。您可能需要进一步调试。
修改:您没有带有ID&#34; contactos&#34;的元素。你可以做以下三件事之一:
由于您已将此功能传递给您的功能(function contactos(element)
),因此您可以window.scrollTo(0, element.offsetTop - 160 );
或者,您首先设置var contactos = element
,然后保留其余部分。
或者,更好的是,在html元素中设置一个id,如下所示:<a href="javascript:void(0)" id="contactos" onclick="contactos(this)">Contatos</a>
这是一个片段。尝试将其设为按钮。
function contactos(element)
{
window.scrollTo(0, element.offsetTop + 160);
}
&#13;
<button onclick="contactos(this)">Contactos</button>
<!-- gibberish -->
<br/><br/><br/><br/><br/><br/><br/>
<br/><br/><br/><br/><br/><br/><br/>
<p>Text added just to see movement</p>
&#13;