我建立了一个网站只是为了尝试一些我的想法并学习。我在firefox中测试时发现了一个问题。我做了一个滚动功能,当图像到达特定位置时滚动页面。图像通过箭头键移动。它在 IE9 和 Chrome 中运行良好,但在 Firefox 中,当我输入箭头键时页面会滚动。我认为这是因为箭头键上的向上翻页、向下翻页、主页和结束导航,但是如果我在 Firefox 中禁用箭头键导航,问题仍然存在。
滚动功能:
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/
我希望有人能告诉我如何解决这个问题。也欢迎对我的代码进行一些评论,因为我还在学习。
谢谢。