首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >活动链接jquery superfish

活动链接jquery superfish
EN

Stack Overflow用户
提问于 2010-12-15 05:03:16
回答 2查看 4.2K关注 0票数 2

我有个问题。我使用具有以下结构的jquery superfish菜单

代码语言:javascript
复制
<div id="menu" class="ge-navigation-item">
  <!-- navigation -->
    <ul id="test" class="sf-menu sf-vertical sf-js-enabled sf-shadow">
      <li><a href="index.html">Home</a></li>
      <li><a href="#">About</a>
        <ul>
          <li><a href="index.html">Index</a></li>
          <li><a href="#">Page</a>
                            <ul>
                                <li><a href="#">menu item</a></li>
                                <li><a href="#">menu item</a></li>
                                <li><a href="proef.html">menu item</a></li>
                                <li><a href="index.html">index</a></li>
                                <li><a href="#">menu item</a></li>
                            </ul>
          </li>
          <li><a href="page-fullwidth.php">Page - Full Width</a></li>
        </ul>
      </li>
      <li><a href="showcase.php">Showcase</a></li>
    </ul>
    <!-- /navigation -->
  </div>

我想要的是,点击一个链接,菜单结构将是可见的

因此,单击index.html将在具有href index.html的所有链接上设置一个链接,但单击proef.html将在href proef.html -页面-关于上设置一个活动类

到目前为止,我已经试过了,但效果不好。

代码语言:javascript
复制
var path = window.location.toString().split("/")
path = path[path.length - 1]
//alert (path);
if (path)
$("#test a[href='" + path + "']").addClass("actief");
$("#test ul li:has(a) a[href='" + path +
     "']").parent().parent().parent().addClass("actief");
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-15 05:17:49

欢迎来到stackoverflow。试试这个:

代码语言:javascript
复制
var path = window.location.pathname.split('/');
path = path[path.length-1];

if (path !== undefined) {
    $("#menu3").find("a[href='" + path + "']").addClass("actief");

}

这应该将类附加到与当前url的最后一项匹配的任何链接。如果您正在寻找一种不同的行为,请详细说明!

更新

实际上,看起来你需要这个:

代码语言:javascript
复制
var path = window.location.pathname.split('/');
path = path[path.length-1];

if (path !== undefined) {
    $("#menu3")
        .find("a[href$='" + path + "']") // gets all links that match the href
        .parents('li')  // gets all list items that are ancestors of the link
        .children('a')  // walks down one level from all selected li's
        .addClass('actief');
}

这将把类放在链上的每个a元素上。

票数 2
EN

Stack Overflow用户

发布于 2011-08-26 22:03:11

我们做了一些类似的事情:

代码语言:javascript
复制
$("#sample-menu-1").find("a[href='"+window.location.pathname+"']").each(function() {
$(this).parents('li').addClass("current");
$(this).closest('ul').css("visibility","visible").css("display","block");
});

它似乎可以工作,但当鼠标移到菜单上时,菜单不能保持当前位置。

=== 更新 ===

将鼠标悬停在菜单上后,父用户界面似乎被重置为不显示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4444212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档