如何编辑此jquery代码以在页面加载时自动打开菜单?

时间:2013-03-16 14:07:43

标签: javascript jquery menu pageload

我正在使用我在网络上找到的nav.js,并希望添加一些javascript,以便在页面加载时自动打开菜单。我对js不太好,我尝试将“open”这个类添加到我的一个catagories中,但似乎没有做任何事情。我怀疑我需要复制现有的代码,在页面加载时添加一些关于它的内容,然后添加“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);
        }
     });
 });

有人可以帮忙吗?

3 个答案:

答案 0 :(得分: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 

您可以通过编程方式触发点击处理程序 在现有代码之后添加它(但在就绪处理程序中)

答案 1 :(得分:0)

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

把它放在document.ready

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

答案 2 :(得分:0)

您可以在文档内部调用此文件

$("#nav > li > a").addClass("open").next("ul").slideDown(350);