【问题标题】:Superfish sub menus display before page is finished loading在页面完成加载之前显示 Superfish 子菜单
【发布时间】:2012-02-13 17:08:07
【问题描述】:

有人知道为什么会这样吗?每当您转到网站上的页面时,子菜单都会短暂出现,然后在页面加载完成后消失。我想阻止这种情况发生。这是网址..http://epsia.marketspacecom.com/

我猜我的 CSS 有问题,但我似乎无法确定问题出在哪里:(

【问题讨论】:

    标签: jquery css drupal-7 superfish


    【解决方案1】:

    可能你必须在CSS 中定义display:none 而不是像这样在JS 中给出:

    .sf-megamenu{
     display:none;
    }
    

    【讨论】:

    • 是的..就是这样。我记得我删除了一条类似于认为将 megamenu 设置为无显示很奇怪的行。哎呀!谢谢!
    • 这个答案对其他人有什么帮助?什么是 sf-megamenu?它不是超级鱼的一部分。
    • 或者你可以在加载页面时隐藏它:.sub-menu => .sub-menu { display: none }
    【解决方案2】:

    最近我在我的网站上解决了这个问题,我已经通过使用 css 和 jquery 解决了这个问题, 解决问题的步骤

    1 向菜单容器添加一个类。 (类的属性应该是overflow:hidden;)

    2 在页脚区域使用 jquery 一段时间后删除此类。

    例如

    <style>.removehidden{ overflow:hidden;}</style>
    <div class="removehidden" id="hidden">
        <div calss="menu">
          <!--- All inside of menu -->
        </div>
    </div>
    

    在页脚区域写下这个脚本

    <script> 
         setTimeout(function(){ 
           $('#hidden').removeClass('removehidden').addClass(text); 
          },1000);
    </script>
    

    【讨论】:

      【解决方案3】:

      您可以在 CSS 中添加以下内容

      .yourmenuwrap-class-here .sub-menu{ 显示:无; }

      或以一般方式

      .子菜单{ 显示:无; }

      此方法在初始页面加载时关闭子菜单并在悬停时激活它们。

      【讨论】:

      • 我在我的一个网站中遇到了这个问题,因为在服务器维护期间页面加载速度非常慢,将 display:none 添加到子菜单类工作完美并为我解决了。
      【解决方案4】:

      这种情况发生在渲染速度较慢的页面上。
      我发现有几种方法可以避免这种情况:

      1. 在页面加载完毕以及所有其他初始化内容后渲染它
      2. 将其呈现在“页面”之外,即左侧:例如 -90000px
      3. 赋予包装榆树可见性:隐藏; -> 渲染它 -> 显示它。

      【讨论】:

        【解决方案5】:

        你也可以在 superfish.css 上尝试(它对我有用)

        ul.sf-menu ul#nav  { display:none; ...
        

        【讨论】:

          猜你喜欢
          • 2010-12-23
          • 1970-01-01
          • 2012-03-27
          • 2014-08-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-08-31
          • 1970-01-01
          相关资源
          最近更新 更多