【问题标题】:Page scrolls once the div scroll reaches its end一旦 div 滚动到达终点,页面就会滚动
【发布时间】:2013-10-21 23:07:55
【问题描述】:

在手机上运行我的应用程序/网页时,我希望页面不垂直滚动,但我确实希望 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 应用程序。所以从技术上讲,它不是在浏览器中,它只是屏幕视口。

【问题讨论】:

  • 这似乎更像是一个设备问题而不是布局问题。换个浏览器试试?

标签: javascript jquery css html


【解决方案1】:

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

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

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

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

新方法 好吧,那就是浏览器的运动……

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

document.ontouchmove and scrolling on iOS 5

【讨论】:

  • 它的整个“浏览器”在移动,我应该指定这是一个通过 html 呈现的 appmobi/xdk 应用程序。所以从技术上讲,它不是在浏览器中,它只是屏幕视口。
  • 现在我在 iphone 上使用它。我通过“App Lab”运行它,这是一个让它运行的程序,就好像它已经被翻译成原生 ios 代码一样,并且在没有浏览器的情况下运行。
  • 很酷,他们将其从 ios 4 更改为 5,我更新了原始答案,并添加了一个链接,其中包含如何在 ios 5 上完成的标记答案。
【解决方案2】:

尝试添加overscroll-behavior: contain

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    • 2020-07-14
    • 2016-06-15
    • 1970-01-01
    相关资源
    最近更新 更多