2
我已经建立了一个网站只是为了尝试一些我的想法和学习。我在Firefox中测试时发现了一个问题。我做了一个滚动功能,当图像到达特定位置时滚动页面。图像通过箭头键移动。它在IE9和Chrome中运行良好,但在Firefox中,当我输入箭头键时,页面会滚动。我认为这是因为arrowKeys上的页面向下,页面向下,主页和结束导航,但是如果我在Firefox中通过箭头键禁用导航,问题仍然存在。在Firefox中奇怪的JavaScript滚动
的滚动功能:
function scrollPage() {
if(xpos > scrollPosX[scrolledX + 1]) {
scrolledX++;
window.scroll(scrollPosX[scrolledX],scrollPosY[scrolledY]);
}
if(xpos < scrollPosX[scrolledX] - ufoWidth) {
scrolledX--;
window.scroll(scrollPosX[scrolledX],scrollPosY[scrolledY]);
}
if(ypos > scrollPosY[scrolledY + 1]) {
scrolledY++;
window.scroll(scrollPosX[scrolledX],scrollPosY[scrolledY]);
}
if(ypos < scrollPosY[scrolledY] - ufoHeight) {
scrolledY--;
window.scroll(scrollPosX[scrolledX],scrollPosY[scrolledY]);
}
info5.html('scrolledX: ' + scrolledX + '<br />scrolledY: ' + scrolledY + '<br />scrollPosX: ' + scrollPosX[scrolledX] + '<br />scrollPosY: ' + scrollPosY[scrolledY]);
scrollLoop = setTimeout(scrollPage, 100);
}
- XPOS和ypos是图像的左侧和顶部位置。
- scrollPosX和scrollPosY是包含滚动到 位置的数组。
- scrolledX和scrolledY用于计算卷轴。
这是我上传的演示。对于完整的代码请查阅页面源:http://www.mikeywebs.nl/
我希望有人能告诉我如何解决这个问题。对我的代码的一些评论也是值得欢迎的,因为我仍然在学习。
Thanx。
谢谢您的回答。是的,滚动功能很好,但在Firefox中(也许只有在我的Firefox中),当我使用箭头键时,页面开始滚动。当图像到达正确位置时,页面仍然滚动到给定位置。当你在Firefox中运行这个演示程序时它会发生吗? – Zeebats
我测试了你的演示,它在Firefox 21中为Ubuntu做滚动。但是,在我向您建议的更改后它不会滚动。 – rvidal
是的,它解决了这个问题。 – Zeebats