【问题标题】:How to disable mobile and desktop scrolling on click如何在点击时禁用移动和桌面滚动
【发布时间】:2014-07-22 03:42:18
【问题描述】:

大家好。我正在处理这个使用 当单击按钮时,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);
    });

【问题讨论】:

    标签: jquery mobile scroll touch


    【解决方案1】:

    看看那个:

    • 全局变量:

      scrollTopPos = $( document ).scrollTop();
      allowScrolling = true;
      
    • 滚动时:

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

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

      allowScrolling = true;
      

    演示:http://jsfiddle.net/UbnQ4/11/

    【讨论】:

    • 这确实禁用了滚动,但我希望它在您单击相同按钮或覆盖关闭菜单时重新启用它。
    • 谢谢!此功能完美运行。我学到了一些新东西。
    猜你喜欢
    • 1970-01-01
    • 2015-07-26
    • 2015-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-11
    相关资源
    最近更新 更多