1

Webで見つけたnav.jsを使用していて、ページの読み込み時にメニューを自動的に開くことができるようにJavaScriptを追加したいと思います。私はjsがあまり得意ではないので、カテゴリの1つに「open」クラスを追加しようとしましたが、何も実行されなかったようです。既存のコードをコピーし、ページの読み込み時に実行されるコードについて何かを追加してから、「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").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 

プログラムでクリックハンドラーをトリガーできます。
これを既存のコードの後に​​追加します(ただし、readyハンドラー内に)

于 2013-03-16T14:11:08.053 に答える
0

clickそのメニュー項目でイベントをトリガーします。

これをdocument.readyの中に入れてください

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

于 2013-03-16T14:11:32.157 に答える
0

これをドキュメント内で準備完了と呼ぶことができます

$("#nav > li > a").addClass("open").next("ul").slideDown(350);
于 2013-03-16T14:17:19.813 に答える