2011-12-21 86 views
1

我不知道是否有人也许能揭示我有一个问题,一些轻...jQuery的兆丰菜单闪烁问题

我用一个jQuery兆丰菜单脚本以下网站:

http://www.furnituremind.co.uk/

我发现剧本从下面的网站:

http://designchemical.com/lab/jquery-mega-drop-down-menu-plugin/examples/

的问题是,上载,我可以看到文本快速闪烁在未格式化的方式如图所示如下图:

http://img838.imageshack.us/img838/4421/screenshot20111221at193.png

进出口寻找一种方式来解决这个问题,但我不确定从哪里开始。我检查了开发者网站,评论和Google,但找不到解决方案。我想也许有一个把它放在一个暂时隐藏的Div直到脚本加载。

帮助非常感谢!

回答

2

我认为这个问题是由于html加载,然后jquery插件运行引起的。我看到这发生在u.i标签和jQuery表单向导(如:http://thecodemine.org/)。

我不认为你可以让jquery绑定任何比文档准备好更快。我建议的一件事就是通过使用css(display:none;)来隐藏这些子菜单,这样他们将被隐藏起来,并且不会看到它们闪烁。

+0

我试着添加这个,但我不能让它们在javascript运行时再次显示。 我已经研究了从页面加载时隐藏CSS值的改变,但我正在努力处理脚本。用JavaScript不是很好。 – user1110643 2011-12-22 00:05:57

+0

你将不得不张贴js,也许我们可以帮助你。 – chobo2 2011-12-22 03:37:18

1

chobo2是正确的。

您可以使用当菜单被初始化到添加的大型菜单类,然后取消隐藏菜单已形成之后:

主要兆丽UL,#导航 - 主 - 万.SUB {显示: none;}

main-mega.sub ul {display:block;}

+0

谢谢!这工作完美 – user1110643 2012-02-27 01:53:18

+0

这个CSS已经包含在超级菜单的CSS,因为它现在。不幸的是,它并没有消除闪烁。我的菜单在缩小备份之前仍然显示为一大块物品。 – 2015-06-09 14:40:37

0

我遇到了同样的问题。我得到了菜单,加入这个作为任何CSS的关于大型菜单的第一行停止闪烁:

.megamenu li > div {display: none} 
+0

这可以消除闪烁,但不会显示任何下拉项。没有完全解决问题。 – 2015-06-09 14:39:29

1

您可以使用CSS的子菜单隐藏在装货前:

#menu li ul {display: none;} 
#menu .sub ul {display: block;} 
-1

在菜单CSS的第一行,你必须使用以下行: -

#menu li ul {display: none;} 
#menu .sub ul {display: block;} 
+0

这些行已经包含在CSS中,它们不能解决这个问题。 – 2015-06-09 14:47:36

0

添加为第一行到你正在使用的大型菜单CSS文件:

.mega-menu li > div {display: none} 

然后在文档准备再添加一些jQuery来表明项目:

$(document).ready(function() { 
    $('.mega-menu li > div').css('display', 'block'); 
}); 

这将消除闪烁。 我尝试过每一个解决办法都没有为我工作100%。这在IE11中。