如何修复打开 mmenu 菜单时出现在我的网站上的图像"flashing"?



我有一个移动网站,我试图在其上实现JQuery mmenu插件(最棒的插件可以在这里找到:http://mmenu.frebsite.nl/)。我遇到的问题是,当用户打开菜单(单击链接/按钮)时,相对定位的主背景图像会"闪烁"。它消失了,然后立即回来。这在桌面浏览器中发生得非常快,但在移动浏览器中,它非常明显并破坏了体验。

有问题的图像定义如下:

<div class="bgImage" style="position:relative;top:-26px">
    <img src="http://path-to-image.jpg" id="imgHero" />
</div>

我在这里发布了一个示例jsfiddle:http://jsfiddle.net/caveman/9xS82/20/

如果运行该示例(尤其是在桌面浏览器上),请在单击右上角的菜单按钮的同时观看主图像(人飞钓)。您可能需要尝试几次才能获得足够慢的闪光灯才能看到(就像我之前提到的,桌面不是很明显,但在移动设备上它要慢得多并且看起来不太好)

我认为这与img相对定位(位置:相对)有关。在Firebug中操作时,如果我删除img上的位置:相对,它就不合适(在我的实际网站设计中),但在打开菜单时不会"闪烁"。

有谁知道是什么导致了这种情况和/或如何解决?

在mobile_old.css样式表中,.bgImagez-index设置为-99,因此元素会快速隐藏在主要内容后面。如果您更改其后面内容的颜色,闪烁将显示该颜色(以证明它隐藏在内容后面)。

给它一个积极的z-index可以解决这个问题:

div.bgImage
{
    z-index: 1;
}

小提琴

最新更新