代码之家  ›  专栏  ›  技术社区  ›  Stoycho

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

  •  0
  • Stoycho  · 技术社区  · 10 年前

    大家好。我正在处理这个使用 fadeToggle可在单击按钮时显示5个链接。我正在使用 jqueryui覆盖效果。我正在努力实现的目标 这里是当您单击菜单时,它显示链接并禁用 移动和桌面滚动,直到再次按下按钮隐藏 或直到您按下覆盖效果。我找到了一些方法 禁用桌面上的滚动功能,但不会恢复滚动功能 关闭菜单后。感谢任何帮助。谢谢


    $("#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 回复  |  直到 10 年前
        1
  •  0
  •   meni181818    10 年前

    看看这个:

    • 全局变量:

      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/