【问题标题】:active menu with jquery plugin带有 jquery 插件的活动菜单
【发布时间】:2011-12-04 07:51:52
【问题描述】:

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 也显示子导航。 如果点击子导航,子导航将保持打开状态,如果其他链接点击主菜单,则子导航将向上滑动并加载新页面。

我希望我能解决我的问题。

非常感谢您的帮助

【问题讨论】:

    标签: jquery css menu


    【解决方案1】:

    如果我理解正确,也许这会起作用?

    放在js代码之前:

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

    然后改变

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

    到:

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

    【讨论】:

    • thanks @denu :) ,我怎样才能将类保留在 about.html 中,并在 about 的子页面中添加新类?
    • 您可以试试这个:将:return $(this).attr("href") == currentURL[currentURL.length-1]; 更改为:currentURL = currentURL[currentURL.length-1]; if ($(this).attr("href") == "about.html" &amp;&amp; $.inArray(currentURL, aboutSubPages) &gt; -1)) return true; return $(this).attr("href") == currentURL; 它未经测试,如果有效,请告诉我
    猜你喜欢
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 2012-12-27
    • 2011-02-01
    • 1970-01-01
    • 2011-09-24
    • 1970-01-01
    • 2017-10-27
    相关资源
    最近更新 更多