0

我一直在尝试在 Nintendo 3DS 游戏系统的网络浏览器中运行的网页中构建一个可移动的 div。基本上,当我使用 + 控制板(对应于常规键盘箭头键的键码)时,div 会在页面周围滑动。不幸的是,由于我的页面尺寸太大而无法直接放入 3DS 视口中,因此浏览器自动滚动的速度比我的 div 移动到视图中的速度要快。我想出了各种技术overflow: hidden;position: fixed;并且

    $(document).keydown(function(event){
        event.preventDefault();
        //call my function to move the div around
    });

不过,3DS 浏览器实际上并没有使用传统的“滚动条”。无论如何它只是滚动。而且它的position: fixed;支持很差。

有没有人对如何阻止页面滚动但允许 div 移动(并在 div 到达视口边缘时滚动一点以显示更多页面)有任何建议?

这是我在 stackOverflow 上的第一篇文章。感谢您的任何想法!!!

编辑:您可以在此处查看代码:Cloud9 IDE 链接并在此处执行操作:DEMO 链接

4

1 回答 1

0

是的,我在所有移动设备上都有这个问题。
对我来说,处理移动设备上固定位置的最佳方法是从页面中完全删除滚动功能并使用 JavaScript 模拟它,然后在新的滚动事件上更改位置。
而且,你可以制作一个不可移动的页面,只滚动你需要的部分,这样你的元素就不会移动了。

html,body {
    overflow: hidden
}

#divID {
    overflow: auto; // if you want just vertical scroll overflow-y: auto;
}
于 2013-04-13T03:27:12.277 回答