我在网站上遇到此问题的一些原因。
当网站加载时,子菜单会显示一秒钟。如果我去点击那里的任何其他菜单,我将看到的第一个子菜单将再次显示。 我检查过Firefox,Chrome,到处都是野生动物园。
我花了很多时间来解决这个问题,但不幸的是我不能。 该页面位于:http://myproperty-solution.co.uk/index.php
有人可以帮我查看一下吗?
提前谢谢你,
此致
丹尼尔
答案 0 :(得分:1)
我检查了你的代码,在你的样式表中添加了这段代码
.sf-menu ul { display: none;}
答案 1 :(得分:1)
所有其他答案都很好但不完整 - 你应该只在javascript打开时隐藏它。当javascript关闭时,你仍然应该显示它们。
所以你应该做这样的事情:
.js .sf-menu ul {
display: none;
}
.js
只是当js打开时,<head>
是你身上的一个类,<script>
<!--
if (document.documentElement && document.getElementById){
document.documentElement.className += " js";
}
// -->
</script>
{{1}}
答案 2 :(得分:0)
添加style =“display:none;”到你的孩子菜单ul。
<ul class="sf-menu">
<li><a href="index.php">Home</a></li>
<!-- ... -->
<li><a href="?page=contactus">Contact us</a>
<ul style="display: none;"> <!-- add style here -->
<li><a href="#">Commercial</a></li>
<!-- ... -->
</ul>
</li>
</ul>
问题是它们的菜单脚本(superfish)是在document.ready事件上触发的,这会在加载页面上的所有元素之后发生。目前,您的子菜单在触发就绪事件之前可见。
编辑:正如其他人所说,应该将样式添加到CSS中,而不是直接在元素上使用样式属性。
答案 3 :(得分:0)
您应该在css中将它们设置为display:none
,以便在页面加载时它们不可见。
在此处发布您的css代码,而不是将用户发送到您的网站进行修复。
答案 4 :(得分:0)
我认为这是因为您使用javascript控制菜单,并且javascript代码在加载页面时起作用。所以片刻你的菜单只使用css。
尝试添加到css文件
ul ul { display: none; }