带有jquery插件的活动菜单

时间:2011-12-04 07:51:53

标签: jquery css menu

HTML

<div id="nav" class="span-15 last push-3 prepend-top nav">
    <ul>
        <li><a href="membership.php">membership</a></li>    
        <li><a href="../download.html">downloads</a></li>
        <li><a href="../news.html">media center</a></li>
        <li><a href="../careers.html">careers</a></li>
        <li><a href="../solutions.html">Our Offerings</a></li>
        <li><a href="../about.html">About US</a></li>
        <li><a href="../home.html">Home</a></li>
    </ul>
    <ul id="subnav_about" class="subnav span-15 bg">
        <li><a href="contact.html">Contact</a></li>
        <li><a href="team.html">Our Team</a></li>
        <li><a href="partners.html">Our partners</a></li>
        <li><a href="mission.html">Our Mission</a></li>
        <li><a href="objective.html">Our Objective</a></li>
        <li><a href="profile.html">Company Profile</a></li>
    </ul>
</div>

的jQuery

$(".nav a").filter(function() {
    var currentURL = window.location.toString().split("/");
    return $(this).attr("href") == currentURL[currentURL.length-1];
}).addClass("navselect");

if ($(".nav a").hasClass("navselect") == false) {
    $(this).addClass("navsvelect");
}

var url = window.location.toString().split("/");
var e = url[url.length - 1];
if (e == "about.html") {
    $('#subnav_about').slideDown(1000).delay(200).fadeIn(600);
} else {
    $('#subnav_about').slideUp(1000).fadeOut(600);
}

在上面的代码中,我试图获取URL并在当前页面处于活动状态时添加类。 但是在about.html中,我希望保持navselect也显示subnav。 如果点击subnav,subnav将保持打开状态,如果另一个链接点击主菜单,则subnav将滑动然后加载新页面。

我希望我明白我的问题。

我真的很感谢你的帮助

1 个答案:

答案 0 :(得分:0)

如果我理解正确的话,也许会做这项工作?

放在js代码之前:

var aboutSubPages = ["contact.html", "team.html", "partners.html"];

然后改变

if (e == "about.html") {

为:

if (e == "about.html" || $.inArray(e, aboutSubPages) > -1) {

    ...