2014-10-02 75 views
0

我正在使用一個名爲Sidr的插件來創建一個類似Facebook的側邊欄。它初始化爲:取消綁定jQuery插件時,沒有銷燬參數

$('#menu_trigger').sidr({ 
    name: 'sidr-right', 
    side: 'right' 
}); 

問題是,我只想在特定的視口大小上產生這種效果。我知道很多jQuery插件都帶有一個像destroy參數來卸載腳本。但是這個插件沒有。

有沒有人知道當觸發某個特定瀏覽器大小時,我可以如何解除此功能的關閉#menu_trigger。 像:

enquire.register("screen and (max-width:560px)", { 
    $('#menu_trigger').sidr({ 
    // unload, unbind 
    }); 
} 

感謝

回答

0

http://jsbin.com/bemimu/8/edit

您可以使用取消綁定,並通過在插件參考選定的元素,然後檢查窗口大小的JavaScript。 $ .sidr('close','sidr-right');

JS:

function clickForSidr() { 

var ww = document.body.clientWidth; 

    if(ww < 560){ 

     if(sidrIsOpen){ 
     $.sidr('close', 'sidr-right'); 
     }else { 
     $.sidr('open', 'sidr-right'); 
     } 
     sidrIsOpen = !sidrIsOpen; 
    } 
}; 

var sidrIsOpen = false; 

    $('.unbindme').on('click',function(){ 
    clickForSidr(); 
    }); 

MARKUP:

<div class="unbindme" >unbindme</div> 
+0

噢,對不起,我要補充的窗口大小調整的邏輯。 – 2014-10-02 13:25:57

+0

抱歉,但這似乎不適用於我。你可以使用我的OP類和插件,我可能不會犯一個錯誤。 – supersize 2014-10-02 13:35:21

+0

當窗口調整大小時,你想要刪除菜單嗎? 如果是這樣的話,這可能不是一個不受約束的問題。 – 2014-10-02 14:00:59