相关疑难解决方法(0)

在Safari中禁用弹性滚动

我只想在Safari(OSX Lion)中调整弹性滚动/弹跳效果.

我找到了overflow: hidden在css中为body 设置的解决方案,但正如预期的那样它只会禁用滚动条,所以如果网站比屏幕"更长",你将无法滚动!

欢迎任何解决方案或提示!谢谢!

javascript css safari jquery osx-lion

42
推荐指数
5
解决办法
13万
查看次数

如何防止文档滚动但允许在iOS和Android网站上的div元素内滚动?

我用iOS和Android的jQueryMobile创建了一个网站.

我不希望文档本身滚动.相反,只有一个区域(一个<div>元素)应该是可滚动的(通过css属性overflow-y:scroll).

所以我通过以下方式禁用文档滚动:

$(document).bind("touchstart", function(e){
    e.preventDefault();
});

$(document).bind("touchmove", function(e){
    e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

但是,无论是否overflow:scroll设置,这也将禁用文档中所有其他元素的滚动.

我怎么解决这个问题?

javascript html5 scroll css3 jquery-mobile

32
推荐指数
3
解决办法
8万
查看次数

防止在OS X Chrome和Safari上进行弹性滚动

我正在寻找一种方法来阻止Chrome和Safari中OS X上发生的弹性滚动.

如果您不明白我的意思,那么当您在页面位于顶部时向上滚动,或在页面位于底部时向下滚动,并且在页面后面显示灰色背景.

有一个单页应用程序的CSS解决方案,您只需添加overflow:hiddenhtmlbody

但是,我需要能够滚动.

我已经提出了一个使用Javascript(JQuery)的解决方案,但它仅用于滚动传递到顶部,并且仅适用于chrome.此外,它在Safari中有点儿麻烦.

$(window).on('scroll', function(e){
   scrollAmount = $(this).scrollTop();
   if(scrollAmount < 1){
      $(this).scrollTop(1);
   }
});
Run Code Online (Sandbox Code Playgroud)

所以这只是检查用户滚动低于1意味着他们尝试向上滚动通过页面结束的位置.我试过0但是没用.我一直无法找到一种方法来检查用户滚动是否通过页面底部.

那么有什么想法?

编辑:

$(window).on('scroll', function(e){
   scrollAmount = $(this).scrollTop();
   if(scrollAmount < 1){
      $(this).scrollTop(1);
   }
   if(scrollAmount > $(document).height() - $(window).height()){
      $(this).scrollTop($(window).height());
   }
});
Run Code Online (Sandbox Code Playgroud)

现在我已经添加了一个检查,如果我们滚动浏览页面的底部.这种方法不起作用,它非常不合理地弹跳.

javascript css jquery

3
推荐指数
3
解决办法
5132
查看次数

标签 统计

javascript ×3

css ×2

jquery ×2

css3 ×1

html5 ×1

jquery-mobile ×1

osx-lion ×1

safari ×1

scroll ×1