0

我在我的网站上遇到此问题的一些原因。

当网站加载时,子菜单会在一秒钟内可见。如果我去那里点击任何其他菜单,我将看到的第一个是子菜单将再次可见一秒钟。我检查了 Firefox、Chrome、safari 到处都是一样的。

我花了很多时间来解决这个问题,但不幸的是我做不到。该页面在这里: http: //myproperty-solution.co.uk/index.php

有人可以帮我看看这个吗?

先感谢您,

问候,

丹尼尔

4

5 回答 5

1

所有其他答案都很好但不完整 - 只有在打开 javascript 时才应该隐藏它。当 javascript 关闭时,您仍然应该显示它们。

所以你应该做这样的事情:

.js .sf-menu ul {
    display: none;
}

只有当.jsjs打开时,你的身体上才设置一个类,就像这样,在你的<head>

<script>
<!-- 
    if (document.documentElement && document.getElementById){
        document.documentElement.className += " js";
    }
// -->
</script>
于 2012-06-18T11:21:04.750 回答
1

我检查了您的代码,在您的样式表中添加此代码

 .sf-menu ul { display: none;}
于 2012-06-18T11:14:11.650 回答
0

添加样式=“显示:无;” 到您的子菜单 ul's。

<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事件上触发的,该事件发生在页面上的所有元素都加载之后。目前,在触发 ready 事件之前,您的子菜单是可见的。

编辑:正如其他人所说,应该将样式添加到 CSS,而不是直接在元素上使用样式属性。

于 2012-06-18T11:13:49.973 回答
0

您应该display:none在 css 中将它们设置为,以便它们在页面加载时不可见。

在此处发布您的 CSS 代码,而不是将用户发送到您的网站进行修复。

于 2012-06-18T11:14:01.603 回答
0

我认为这是因为您使用 javascript 控制菜单,并且 javascript 代码在页面加载时起作用。所以有一会儿你的菜单只使用 css。

尝试添加到css文件

ul ul { display: none; }
于 2012-06-18T11:15:38.760 回答