是否可以防止iOS Safari中的过度滚动/跳动滚动?

问题描述 投票:1回答:1

我已经尝试了我在网上找到的所有内容,包括iNoBounce以及有关stackoverflow的所有建议,但都没有用。有解决方案吗?

HTML:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width">
    <title>JS Bin</title>
</head>
<body style="overflow:hidden">
    <div id="test">
TOP:<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a
    <br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a
    <br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a
    <br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a
    </div>
</body>
</html>

CSS:

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

div
{
  position: fixed;
  width: 100%;
  height: 100%;
  overflow: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

JavaScript:

var lastY = -1;

document.addEventListener( "touchmove",
function(event)
{
var test = document.getElementById( "test" );//.innerHTML = document.body.scrollTop + " = " + lastY + " <= " + event.touches[0].screenY;

if ( test.scrollTop <= 0 && lastY < event.touches[0].screenY && lastY !== -1)
    {
    event.preventDefault();
    event.stopPropagation();

    lastY = event.touches[0].screenY;
    return false;
    }

lastY = event.touches[0].screenY;
});
javascript ios css mobile-safari
1个回答
0
投票

我遇到了同样的问题,想知道您是否找到了解决方案

© www.soinside.com 2019 - 2024. All rights reserved.