2013-12-23 25 views
0

我希望有一個按鈕,顯示或隱藏div,但是當我調整瀏覽器,並引發媒體查詢我要禁用按鈕,再次啓用調整到以前的媒體查詢時。無法在窗口大小調整中刪除和應用事件處理程序。 (在Firefox無法在Chrome)

我使用媒體查詢與body:after {content:'tablet'; display:none;}body:after {content:'laptop'; display:none;},它工作正常。

我使用jQuery .on();.off();在窗口大小上添加/刪除事件處理程序。我遇到的問題是事件處理程序正在增加,但是當我點擊它時,它會立即切換到「平板電腦」視口大小。

如何讓這個當我調整到「筆記本電腦」大小我刪除的處理程序,但是當我調整爲「平板電腦」,我再次添加事件處理。

jQuery的

function chooseMenu() { 
    $('#sidebarWrapper').css('position', 'absolute').stop(true, true).toggle('showOrHide'); 
} // button function 

if (size != currentSize) { 
    if (size == 'tablet') { 
     $('.menuButton').on('click', chooseMenu); 
     $('#sidebarWrapper').css('display', 'none'); 
     currentSize = 'tablet'; 
    } 
    if (size == 'laptop') { 
     $('.menuButton').off(); 
     $('#sidebarWrapper').css('position', 'static'); 
     $('#sidebarWrapper').css('display', 'block'); 
     currentSize = 'laptop'; 
    } 
} //if size 

我假設有什麼毛病我的開/關或我必須失去切換邏輯。如果情況並非如此,您只需要詢問或查看實況網站即可查看更多信息。這是左側灰色條上的菜單按鈕。 http://lartmagazine.co.uk/。 (抱歉,我只是不知道如何在小提琴中展示此鏈接)。

Err ..只要檢查我的鏈接,我注意到它可以在FireFox中使用,但不能在Chrome中使用?

回答

0

問題是,我需要我的節流功能,當我調整窗口的大小,我安裝underscore.js和使用這樣的:

$(window).resize(_.debounce(function(){ 

},100)); 

其實我已經在此之前安裝,但忘記了它與其他玩了東西...

相關問題