1

在手机上运行我的应用程序/网页时,我希望页面不垂直滚动,但我确实希望 div 允许垂直滚动。这可行,但是一旦 div 到达滚动的底部,它就会滚动整个页面。

我用来禁用垂直页面滚动的代码:

 $(document).bind('touchmove', function (e) {
     if (!$('.scrollable').has($(e.target)).length) e.preventDefault();
});

我的 div 生成器可以在我想要滚动的 div 内附加任意数量的 div:

      $('#mySelect').append("<div style = 'width:100%; height: 30%; text-align: left; background-color: white; border: 1px solid gray; line-height: 0%' >" +
     "<div style = 'float: left; margin-left: 5%'><p style = ' font-size:" +fontSize+"'>" + username + "</p><p style = 'color: gray; font-size:" +subtext+"'>" +wholeName+"</p></div>    <img style = 'float: right; padding-top: 3%; padding-right: 3%; right: 0; height: 80%;' onclick = addFriend('"+username+"') src = 'addfriend.png'></div>"); 

被附加到 div:

 <div id="mySelect" class = "scrollable">
 </div>

所以我几乎需要知道一旦我的“可滚动” div 到达顶部或底部时如何停止垂直滚动。谢谢你的帮助。

编辑:我应该指定这是一个通过 html 呈现的 appmobi/xdk 应用程序。所以它在技术上不是在浏览器中,它只是屏幕视口。

4

2 回答 2

1

如果您将此 css 添加到您的文档中,这样就没有什么可以垂直滚动到了?

html,body{height:100%;overflow-y:hidden}

这是一个示例小提琴:http: //jsfiddle.net/filever10/XEvGP/

它未经测试,所以如果有任何问题,请告诉我。

新方法 好吧,所以它是浏览器运动......

如果是 ios,这应该会有所帮助

在 iOS 5 上 document.ontouchmove 和滚动

于 2013-10-21T23:47:10.860 回答
0

尝试添加overscroll-behavior: contain.

于 2021-04-22T18:45:44.697 回答