如何在点击时禁用移动和桌面滚动

时间:2014-07-21 19:18:22

标签: jquery mobile scroll touch

  

大家好。我正在处理这个使用的小型移动菜单   fadeToggle在单击按钮时显示5个链接。我正在使用   jquery ui overlay用于叠加效果。我想要实现的目标   这是当你点击菜单它显示链接和禁用   移动和桌面滚动,直到再次按下按钮隐藏   菜单或直到您按叠加效果。我找到了一些方法   禁用桌面滚动,但它不会恢复滚动功能   关闭菜单后。任何帮助表示赞赏。感谢。


$("#mmenu").hide();
     $(".ui-overlay").hide();
     $(".ui-widget-overlay").hide();
    $(".navicon").click(function(e) {
    e.preventDefault();
        $("#mmenu").fadeToggle(300);
        $(".ui-overlay").fadeToggle(300);
        $(".ui-widget-overlay").fadeToggle(300);
    });
    $(".ui-overlay").click(function() {
    $("#mmenu").fadeToggle(300);
    $(".ui-overlay").fadeToggle(300);
    $(".ui-widget-overlay").fadeToggle(300);
    });

1 个答案:

答案 0 :(得分:0)

看一下:

  • 全球变种:

    scrollTopPos = $( document ).scrollTop();
    allowScrolling = true;
    
  • 滚动时
  • $(document).scroll(function() {
        if(allowScrolling === false) {
            $( document ).scrollTop( scrollTopPos );
        } else {
    
        }
    });
    
  • 禁用:

    scrollTopPos = $( document ).scrollTop();
    allowScrolling = false;
    
  • 启用:

    allowScrolling = true;
    

demo:http://jsfiddle.net/UbnQ4/11/