1

我正在使用我在网上找到的 nav.js,并希望向其中添加一些 javascript 以启用在页面加载时自动打开的菜单。我对js不太好,我尝试将“open”类添加到我的一个类别中,但它似乎没有做任何事情。我怀疑我需要复制现有代码,添加一些关于它在页面加载时执行的内容,然后添加“打开”会起作用。

这是我的js

$(document).ready(function(){
    $("#nav > li > a").on("click", function(e){
        if($(this).parent().has("ul")) {
          e.preventDefault();
        }

        if(!$(this).hasClass("open")) {
          // hide any open menus and remove all other classes
          $("#nav li ul").slideUp(350);
          $("#nav li a").removeClass("open");

          // open our new menu and add the open class
          $(this).next("ul").slideDown(350);
          $(this).addClass("open");
        } else if($(this).hasClass("open")) {
          $(this).removeClass("open");
          $(this).next("ul").slideUp(350);
        }
     });
 });

任何人都可以帮忙吗?

4

3 回答 3

0

你可以调用这个内部文件准备好

$("#nav > li > a").addClass("open").next("ul").slideDown(350);
于 2013-03-16T14:17:19.813 回答
0
$("#nav").find("li").has("ul").first().find('> a').click();
//          ^ -- more efficient to select by ID then filter
//                    ^ -- filter for submenu items only
//                               ^ -- only need the first one
//                                         ^ -- find the link
//                                                  ^ -- trigger the click 

您可以以编程方式触发点击处理程序。
在现有代码之后添加它(但在准备好的处理程序中)

于 2013-03-16T14:11:08.053 回答
0

在该菜单项上触发click事件。

把它放在 document.ready 里面

$("#nav > li > a#yourID").trigger('click');

于 2013-03-16T14:11:32.157 回答