我遇到了IPad的问题,我正在根据菜单选择计算导航到各个部分的位置。 它适用于除IPad之外的所有浏览器的所有桌面。 我尝试使用window.scrollTo和stackoverflow建议的其他选项。但没有运气。
以下是代码。
function goToNav(anchor)
{
var tbarOffset = $("toolbar").offsetTop;
var header = document.getElementById("tab1_"+anchor);
var pos1 = header.offsetTop;
var pos2 = header.offsetParent.offsetTop;
var pos3 = header.firstChild.offsetHeight;
if(tbarOffset==0)
{
var pos = ((pos1 + pos2) - pos3);
}
else
{
var pos = ((pos1 + pos2) - pos3)- pos3;
}
document.documentElement.scrollTop = pos;
document.body.scrollTop = pos;
}
}
感谢你的帮助。
谢谢, VENU
答案 0 :(得分:1)
Scroll是一个事件,因此您必须倾听该事件。
这样的事情:
addEventListener('scroll', function() {
if (timer !== null) {
clearTimeout(timer);
}
timer = setTimeout(function() {
// ... do something
goToNav(//param);
if(timer === null)
setTimeout(arguments.callee, 10);
}, 10);
}, false);