2012-02-10 44 views
1

我在网站上使用了Smooth Navigation JavaScript菜单,客户抱怨在浏览网站时浏览主导航的样式有所延迟。JavaScript下拉菜单的CSS样式中的延迟

正确的是,当您在CSS启动并且样式正确之前打开页面时,可能会有1秒的延迟。 CSS在页面的顶部,JS在底部,所以我不知道是什么造成这种延迟?

该网站是http://jomast.co.uk/

任何帮助将不胜感激。

谢谢。

+0

如何应用该样式? CSS? JavaScript?你有什么尝试? – ManseUK 2012-02-10 11:04:59

回答

1

你不需要也不应该使用JavaScript来做一个简单的下拉菜单。

在任何情况下,将类“navv”添加到菜单容器,看看是否解决了这个问题。

更改此:

<div id="nav> 

这样:

<div id="nav" class="navv"> 
+0

为什么它是如此糟糕的脚本?你能建议一个更好的吗? – 2012-02-10 11:29:49

+0

这几天我建议不要使用Javascript,而应该使用CSS3转换来处理动画。一个快速的谷歌发现这个没有JS的下拉菜单的例子:http://shailan.com/demos/css3-transitions-dropdown.html 最多的时候,应该使用JS来切换类的开启和关闭来应用/删除悬停时的样式。 – 2012-02-10 11:43:56

+0

但是旧版浏览器呢?我们JS作为备份? – 2012-02-10 12:55:13

0

基本上,JavaScript在文档完全加载并处理完Javascript后还需要一些时间。在这段延迟期间,当浏览器试图尽可能快地显示所有内容时,您可以看到显示菜单的“无风格”版本。

最简单的修复方法是以这种方式设置菜单的样式,即“未设置”版本与“样式”设置相同。然后将不会闪烁,并且脚本将在页面完全加载时将其添加为显示较慢的动画。

1

当浏览该网站时,顺利通航不会马上踢。尝试重新订购脚本标记:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 
<script type="text/javascript" src="scripts/js/ddsmoothmenu.js"></script> 
<script type="text/javascript"> 
    ddlevelsmenu.init("ddtopmenubar", "topbar") //ddlevelsmenu.setup("mainmenuid", "topbar|sidebar") 
</script> 
<script type="text/javascript" src="scripts/js/news.js"></script> 
<script type="text/javascript" src="http://cloud.github.com/downloads/malsup/cycle/jquery.cycle.all.latest.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('.slideshow').cycle({ 
      fx: 'fade' // choose your transition type, ex: fade, scrollUp, shuffle, etc... 
     }); 
    }); 
</script> 

这也将采取一致的护理:

Uncaught ReferenceError: $ is not defined    news.js:1 
Uncaught ReferenceError: jQuery is not defined   jquery.cycle.all.latest.js:918 
Uncaught ReferenceError: $ is not defined    index.php:149 
Uncaught ReferenceError: ddlevelsmenu is not defined index.php:158