2015-10-16 41 views
0

我使用媒體查詢使屏幕寬度小於40em時出現導航覆蓋圖。我有我的.mobile-nav出現(而消失)使用JQuery在DIV覆蓋圖上停止iOS滾動出現

jQuery('.mobilemenu').click(function(e) { 
    jQuery(this).toggleClass('is-active'); 
    jQuery('.mobile-nav').toggleClass('active'); 
    jQuery('body').addClass('noscroll'); 
    e.preventDefault(); 
}); 

我遇到的問題是,當這個被激活的頁面背後仍然是滾動的小位被點擊時.mobilemenu,但最好我想它固定在位。我已經嘗試使用.addClass,正如你上面看到的,它附加.noscroll類與overflow: hidden;,但這似乎工作完美時,瀏覽器模擬(除非該類不會被刪除,然後頁面卡住!),但在iOS上它根本不工作。

我敢肯定,必須有一個更實際的工作更簡單優雅的解決方案!如果任何人有任何想法,這將是偉大的。

回答

0

回答時here

但對於參考擴大,代碼如下:

jQuery('.mobilemenu').click(function(e) { 
    jQuery(this).toggleClass('is-active'); 
    jQuery('.mobile-nav').toggleClass('active'); 
     if(jQuery('.mobile-nav').hasClass('active')) { 
      $('body').on('touchmove', false); 
     } else { 
      $('body').off('touchmove', false); 
     } 
});