【问题标题】:jQuery - CSS DropDown Navigation Items - How to build a Carrot DropdownjQuery - CSS DropDown 导航项 - 如何构建胡萝卜下拉菜单
【发布时间】:2010-10-05 15:36:20
【问题描述】:

我有兴趣学习以智能、优雅的方式在整个站点中构建导航项,这些导航项具有胡萝卜,单击时会展开菜单项列表。

我希望动态构建菜单项(不一定全部使用 ajax)。但它们不应该在页面上硬编码。

这似乎是 TWITTER 之类的网站处理下拉菜单的方式...

例如在 Twitter 上,他们有:“转推 \/”,当你点击胡萝卜时,它会在页面中注入以下内容:

<ul class="drop-down" style="left: 0px; right: auto; top: 31px; visibility: visible; ">
  <li class="stream-link" data-item-id="">
  <a title="Retweets by others" href="/#!/retweets_by_others">
    <b class="item-name">
      Retweets by others
    </b>
    </a>
</li><li class="stream-link" data-item-id="">
  <a title="Retweets by you" href="/#!/retweets">
    <b class="item-name">
      Retweets by you
    </b>
    </a>
</li><li class="stream-link" data-item-id="">
  <a title="Your Tweets, retweeted" href="/#!/retweeted_of_mine">
    <b class="item-name">
      Your Tweets, retweeted
    </b>
    </a>
</li>
</ul>

关于如何做到这一点的建议?

谢谢

【问题讨论】:

    标签: jquery css drop-down-menu navigation


    【解决方案1】:
    $("button").next().hide();
    $("button .carrot").click(function() {
      $button = $(this).parent().toggleClass("active");
      $button.parent().next().toggle().offset($button.offset());
    });
    

    如果你的 html 看起来像这样:

    <button>Button <span class="carrot">v</span></button>
    <ul>
      <li>blah blah blah</li>
    </ul>
    

    【讨论】:

    • 那是对 HTML 的硬编码......这对于 1 个下拉菜单来说效果很好,但如果你有几十个,那看起来有点乱,不是吗?
    • 哦,它应该是“button”而不是“#button”,所以你可以有多个下拉菜单。如果不是硬编码的 HTML,你想要什么?
    • 好问题。优雅的东西。这适用于多个下拉菜单。各种插件。
    • 我认为,硬编码的
        最容易编码并且适用于多个下拉菜单。为什么它们不工作?
    猜你喜欢
    • 2012-10-02
    • 2022-09-23
    • 2014-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多