javascript - 仅在移动 Javascript 上禁用滚动

标签 javascript scroll

我需要仅针对移动设备禁用特定 DIV 的滚动

如果移动滚动已禁用 否则滚动

$(function() {
    var offset = $('#sidebar-wrapperleft').offset();
    var topPadding = 0;

    $(window).scroll(function() { 
       if ($(window).scrollTop() > offset.top) { 
           $('#sidebar-wrapperleft').stop().animate({
               marginTop: $(window).scrollTop() - offset.top + topPadding
           });
       } else{
           $('#sidebar-wrapperleft').stop().animate({
               marginTop: 0
           });
       };
   });
});

最佳答案

您需要意识到“移动检测”可能会让您感到头痛。如果可能,您应该依靠屏幕尺寸来调整您的内容。

移动检测是有问题的,因为首先,什么应该被视为移动? iPad 是否是移动设备?正如您所看到的,这个概念存在一些灰色地带。

这里还有另一个线程( What is the best way to detect a mobile device in jQuery? ),您可以在其中找到一些基于浏览器代理的算法,并且随着新设备上市,它们可能需要不断改进。

关于javascript - 仅在移动 Javascript 上禁用滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33922465/

相关文章:

javascript - 如果在移动设备上滚动,则防止点击链接

java - 当使用scrollRectToVisible()时,需要调用两次才能正确固定位置。怎么修?

javascript - 我尝试在弹出窗口打开的情况下设置滚动动画,但它不起作用

c# - 如何访问从 javascript 保存的 session 值?

javascript - JS/Jquery 魔法线在页面刷新时不起作用

javascript - jquery 事件处理程序堆叠

uiscrollview - 无法在 Storyboard中添加 UILabel/其他 subview 后立即在 UIScrollView 中滚动

python - 重新启动游戏(重置滚动屏幕)

javascript - 给伪元素添加渐变

javascript - 如何在纯 JS 中按特定字段(如 _.sortBy)对对象进行排序?