0

こんにちは私は、アイテムが選択されたときに、すぐに閉じるのではなく、メニューを開いたままにしようとしています。これが私のjquery.collaspe.jsファイルです:

jQuery.fn.not_exists = function(){return jQuery(this).length==0;}

jQuery.fn.jqcollapse = function(o) {

 // Defaults
 var o = jQuery.extend( {
   slide: true,
   speed: 300,
   easing: ''
 },o);

 $(this).each(function(){

  var e = $(this).attr('id');

  $('#'+e+' li > ul').each(function(i) {
     var parent_li = $(this).parent('li');
     var sub_ul = $(this).remove();

     // Create 'a' tag for parent if DNE

     if (parent_li.children('a').not_exists()) {
      parent_li.wrapInner('<a/>');
     }

     parent_li.find('a').addClass('jqcNode').css('cursor','pointer').click(function() {
         if(o.slide==true){
          sub_ul.slideToggle(o.speed, o.easing);
         }else{
          sub_ul.toggle();
         }
     });
     parent_li.append(sub_ul);
 });

 //Hide all sub-lists
  $('#'+e+' ul').hide();

 });

};

順序付けされていないリストを使用しています。誰かがリストアイテムをクリックすると、メニューが選択されたことをユーザーに通知せずに、メニューが再び閉じて、リスト内のそのアイテムを開いたままにします。

ある種の「選択された」コードを追加する必要があることは知っていますが、これを行う方法がわかりません。助けてください!!!!!!!

4

1 に答える 1

0
  1. 選択した項目に CSS クラスを追加します
  2. 新しいページが開いたとき: クラスを使用してメニュー項目を取得し、メニューを表示します (おそらく.show()その親を呼び出すことによって)
于 2010-11-23T19:49:20.450 に答える