因此,我们正在为一个在Safari中的iOS7上完美运行的客户端构建这个Web应用程序.但是当我们在iOS8中检查应用程序时,它有一些巨大的错误.
<section style="overlay-y: scroll;"></section>消失的内容(重叠部分).<a href="">Lala</a>)当我们-webkit-overflow-scrolling: touch;从容器中移除(包含所有内容的div)时,一切都像以前一样完美无瑕......
关于它可能是什么的任何想法?
Ale*_*lex 16
我有同样的问题!到目前为止,我找不到真正的解决方案,但有一个不太理想的解决方法:
假设#container具有-webkit-overflow-scrolling: touch属性集,这个jQuery应该帮助你:
$('#container').css('-webkit-overflow-scrolling','auto');
Run Code Online (Sandbox Code Playgroud)
或者对于javascript(未经测试):
document.getElementById('container').style.webkitOverflowScrolling = 'auto';
Run Code Online (Sandbox Code Playgroud)
这将禁用页面上流畅的轮盘式滚动.所以它并不理想,但您的页面现在应该正确滚动.
一些进一步的研究使我们发现了一种更加黑客的解决方法,同时保持平滑的触摸滚动工作.假设你-webkit-overflow-scrolling: touch在css的某个地方,你可以在你的JS中"切换"它.我不确定你有什么显示/隐藏菜单,但希望你可以利用它.
function toggleMenu(){
$('#container').css('-webkit-overflow-scrolling','auto');
//...Existing code
setTimeout(function() {
$('#container').css('-webkit-overflow-scrolling','touch');
},500);
}
Run Code Online (Sandbox Code Playgroud)
没有setTimeout,这对我没用.希望这可以帮助你或其他人.