我正在开发一个网站,我使用 slimbox2 插件(类似于 lightbox)来使用 jquery 来生成照片放大。
该插件适用于我尝试过的所有浏览器,除了 iPhone 上的 Safari。它在 Windows 版 Safari 上确实按预期工作,但在 iPhone 上有两个问题:
- 页面其余部分的变暗仅发生在页面顶部,大约是视口(viewport)的高度(假设页面顶部 400 像素),下面的所有内容都保持原样。
- 较大的图像本身正好放置在页面的中间,而不是视口(viewport)的中间。
我在这里读到过,jquery 应该在 iphone 上工作得很好,但由于定位和淡入淡出似乎是基本的 jquery 功能,我想这可能不完全正确。它当然也可能是插件......
所以我的问题是:jquery 真的可以在 iPhone 上运行吗?如果不能,有人知道如何让它运行吗?
非常感谢!
最佳答案
我知道这已经有一年半的历史了,但这里是为了以防万一这对其他人有帮助:
我的猜测是,这可能是您的插件使用 position:fixed
创建覆盖层(您提到的“页面变暗”)以及较大图像的容器的问题本身。在 Mobile Safari 上搜索“position:fixed”将为您提供有关此主题的大量进一步阅读内容!
看来,由于 Mobile Safari 将“视口(viewport)”视为整个页面,而不仅仅是可见部分,因此position:fixed 往往不会像我们期望的那样工作。我在另一个 jQuery 插件中遇到了同样的问题,该插件为我创建了一个“模态”窗口,其症状与您所描述的非常相似。
我目前正在尝试通过(A)消除位置:固定并更改为position:absolute来解决此问题,同时(B)根据主体的整个高度和窗口的“scrollTop”手动设置高度和“顶部” jquery 属性。我认为一些好的旧浏览器嗅探可能会有所帮助,因为到目前为止,只有这个浏览器才真正需要这种“黑客”。
关于jquery - jquery 可以在 iphone 的 safari 上运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/508995/