Javascript 和 CSS 移动友好全屏覆盖

标签 javascript jquery android css ios

我正在开发一个需要在移动设备和桌面上运行的 jQuery 灯箱类型插件。我对全屏叠加效果有疑问。根据我的研究,似乎标准的解决方案是使用 position: fixedbackground-attachment: fixed 来实现叠加效果。当然,移动设备不支持固定定位,所以我也在想办法。

现在,我将一个函数附加到 $( window ).on( 'resize' ) 以获取窗口的新尺寸并为其设置叠加层。我看到的问题是,当我缩小窗口大小时,这会触发闪烁的滚动条,使整个事情变得非常紧张。您可以在此处查看效果:( http://jsfiddle.net/dominic_p/ZqLCx/3/http://3strandsmarketing.com/lightbox.php )。

知道如何解决这个问题吗?该代码仍在大量开发中,所以它有点乱,但我试图通过一条评论来突出显示我认为 jsFiddle 中的 2 个问题区域,内容为 "THE PROBLEM: START"

更新: 我有一个绝妙的主意,就是将桌面浏览器的定位更改为 fixed,并且仍然依赖我的移动浏览器大小调整脚本。它似乎有很大帮助,但是当浏览器窗口开始变小时(尤其是垂直收缩时)仍然存在一些明显的闪烁。此外,当在 Android 4 上使用 position: fixed 时,屏幕侧面突然出现一个大的白色间隙,我只能在纵向模式下水平滚动到该间隙。有人知道如何解决这两个问题吗?

最佳答案

闪烁问题的解决方案似乎是设置overflow-x (或者只是 overflow 如果你愿意的话) <body> 的属性元素到 hidden .出于好奇,导致闪烁的实际上不是叠加层,而是灯箱内容。

我仍在为 Android 上出现的白色间隙而苦苦挣扎,但这是一个单独的问题,所以我将其作为解决方案发布。

关于Javascript 和 CSS 移动友好全屏覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9386548/

相关文章:

javascript - Google chrome 中的奇怪行为(提交表单后,它会转到页面底部)

javascript - 为什么我们需要在 switch 语句中分支时对位字段执行按位与

javascript - 调用对象中设置的匿名函数,未得到预期结果

javascript - 有没有办法保存所选文本并在刷新页面后再次突出显示它?

java - 如何在 strings.xml 或 asset 中存储数组并在 ListViewAdapter 中使用

android - TextInputLayout 提示文本颜色在焦点上改变

javascript - 删除输入的日文

javascript - 重用代码来淡入淡出元素,这样我就不必重复我的代码

javascript - 定义变量时,它们在 firebug 中显示为未定义

android - Google Drive Sqlite db 文件从 android 应用程序上传