我在网站上有一个非常奇怪的错误:http://brightsystems.eu/vini/index.php/en 主菜单有时搞砸了。最奇怪的是,如果我双击浏览器刷新,之后页面将被正确显示的可能性。对于任何事情都没有真正的方法,只是通常在会话期间菜单突然搞砸了。
在本地开发网站时,这绝不是问题。我很确定CSS没问题,否则根本就无法正常显示。
我已经安装了一个快速修复程序,一旦加载就刷新每个页面,这有效,但这不是一个持久的解决方案。
主菜单在jquery中创建,网站使用yii框架创建。
任何人都有类似的经历或解决方案吗?
答案 0 :(得分:1)
Mega-menu从主容器高度自动计算下拉列表的顶部偏移量。
http://brightsystems.eu/vini/js/jquery.dcmegamenu.1.3.3.js line 200
var menuHeight = $('> li > a',$dcMegaMenuObj).outerHeight(true);
故障的可能原因是在主菜单完全呈现之前有时会计算menuHeight
。可能的解决方案是:
1)<ul id="main-menu" class="mega-menu">
应具有固定高度,以css(34px左右)定义。
2)应该在稍微延迟后启动超级菜单,以确保主菜单完全呈现。 (糟糕的解决方案)
修改强>
尝试在green.css中修复它
.green ul.mega-menu li a.dc-mega {
position: relative;
height: 34px; <-- add this
}