javascript - 如何在移动设备上滚动覆盖 div

标签 javascript html css responsive-design

我有一个移动网站,它有一个导航菜单,单击右上角的固定位置按钮即可显示该菜单。这个菜单也是固定的,所以菜单的顶部从按钮底部下方 10px 开始。问题是这个导航菜单可能比所用设备的高度长,当你尝试滚动时,它会滚动导航菜单后面的内容,因为它是固定的。有人可以帮我解决这个问题吗?

最佳答案

根据我的评论:

你需要用JS找到屏幕的高度,菜单的顶部,并将菜单的最大高度设置为它们的差值

对于窗口的高度使用$('window').height()

对于菜单与浏览器顶部的距离:$('.menu').offset()

该函数应该存在于显示菜单事件监听器中:

var maxHeight = $(window).height() - $('.menu').offset();
$('.menu').css({ "max-height" :maxHeight})

确保 overflow:scroll; 已在您的 menu 上设置

关于javascript - 如何在移动设备上滚动覆盖 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26737471/

相关文章:

javascript - 提高 Javascript 性能的技巧

asp.net - ASP.NET MVC 应用程序的高级主题

html - 如何仅使用 CSS 将文本区域扩展到 100%

javascript - 缩放功能

html - 使用 CSS 禁用链接但启用标题

javascript - 根据 Chrome 的 JavaScript 控制台,没有 JavaScript 错误,但我的页面无法正常工作

javascript - 我如何解释 Date 的这种时区行为?

javascript - 使用 OpenLayer3 显示标记、弹出窗口

javascript - CSS3卡片翻转动画,不支持时检测

javascript - 如何使用 JavaScript 禁用/启用 HTML5 视频标签