2013-10-13 19 views
0

我用mmenu構建了一個自定義菜單(http://mmenu.frebsite.nl/)。根據文檔,鏈接到頁面本身的任何鏈接 - 例如<a href="#anchor">Close Menu</a>將觸發關閉功能。但是,只要菜單包含除無序列表(例如div,文本等)之外的任何內容,此功能就會停止工作。菜單的ul/li自動造型也變成了漂亮的菜單。基本上mmenu說:「eek,除了ul/lis之外的東西 - 我拋出了我的默認行爲」。當菜單中的非李元素時,jquery mmenu關閉功能不起作用

點擊頁面區域仍然可以關閉菜單。這只是我菜單裏面的「關閉菜單」鏈接不起作用。再次,刪除所有非ul/li內容將導致鏈接重新開始工作。

任何人都有這個插件的經驗,並有任何想法如何讓這個功能工作?

+0

你可以創建一個http://jsfiddle.net/實現這個插件/問題? – Trevor

回答

0

mmenu插件有一個選項「isMenu」,它決定是否添加菜單特定的樣式和功能。如果省略,插件將嘗試自動檢測此選項。 基本上,如果你的菜單(NAV)只包含一個子節點並且該子節點是UL,插件會將「isMenu」選項設置爲true;

嘗試手動添加選項:

$("#foo").mmenu({ 
    isMenu: true 
}); 

要手動關閉菜單,觸發「關閉」自定義事件。 如何做到這一點在下載包中包含的教程中進行了解釋。

+0

不幸的是觸發「關閉」事件不起作用。我使用'$('#burger-menu')。mmenu();'創建菜單,然後嘗試使用$('。menu-close')。bind('click',function(){ \t $('#burger-menu')。trigger('close'); });',並且該功能在點擊時觸發,但菜單不關閉。 –

+0

嗯 - 添加「isMenu」選項使觸發器('關閉')工作。但它也會強制菜單被格式化爲菜單。由於我很自定義 - ul,按鈕和其他鏈接的組合 - 這是一個不太好的選擇。任何方便的方式使用isMenu,但只能用於顯示/隱藏功能 - 不適用於菜單內容的格式化? –

0

我用這個方法,它是偉大的工作:。

$( '#manualCloseBTN')綁定( '點擊',函數(){$( '#openedPage')的觸發器( '親密') ;});

我花了數小時尋找替代品,但這是關閉頁面的最佳方式。

0

您可以編寫自己的加載項並在啓動菜單時加載它。

裏面的插件,您就必須綁定一個事件監聽到你的「親密」按鈕上,其調用close()函數的可能性:

(function($) { 

    var _PLUGIN_ = 'mmenu', 
     _ADDON_ = 'myAddon'; 


    $[ _PLUGIN_ ].addons[ _ADDON_ ] = { 

     // ... 

     setup: function() { 
      var that = this; 

      $('#closeButton').on('click', function(){ 
       that.close(); 
      }) 

     }, 

     // ... 
    }; 

    // ... 

}); 

只要看看在現有的附加組件和官方網站,如果你需要更多的信息.​​..

相關問題