侧菜单滚动滞后于safari(ios)
side menu scroll lags on safari (ios)
我有一个移动网站,它有一个带滚动的简单侧菜单栏,当在safari上滚动菜单时,它会滞后很多(难以滚动)。
这是html:
<body>
<div id="menu_background" onclick="toggleMenu()"></div>
<div id="menu">
<ul>
<li>
<div>item 1</div>
</li>
//other items goes here
</ul>
</div>
<div id="global_container">
//some content goes here
</div>
</body>
这是css:
#menu
{
position: absolute;
top: 0px;
bottom: 0px;
z-index: 100;
overflow: hidden;
display:none;
width: 0%;
padding: 1%;
}
和javascript:
var menuShown = false;
function toggleMenu(){
var menu = document.getElementById("menu");
var menuBackground = document.getElementById("menu_background");
var globalContainer = document.getElementById("global_container");
if(!menuShown){
menuShown = true;
menuBackground.style.visibility = "visible" ;
menu.style.width="60%";
menu.style.display="block";
menu.style.overflowY="auto";
globalContainer.style.position="fixed";
globalContainer.style.right="62%";
}
else{
menuShown = false;
menuBackground.style.visibility = "hidden" ;
menu.style.width="0%";
menu.style.display="none";
menu.style.overflowY="hidden";
globalContainer.style.position="static";
}
}
我没有包括html的其余部分,其中有一个带有onclick操作的菜单按钮,可以触发toggleMenu()javascript函数。
此外,我不想使用现成的jQuery插件或其他解决方案。
有什么建议吗?
在css中使用以下内容解决:
而不是在css#菜单选择器中使用以下内容
overflow: hidden;
用这个代替
overflow-y: scroll;
overflow-x: hidden;
-webkit-overflow-scrolling: touch;
相关文章:
- iOS Safari Javascript设置超时问题
- 有没有一种方法可以在过滤掉iOS Chrome、Firefox和其他浏览器的同时检测iOS safari
- 使用iOS Safari网络浏览器的全屏html5视频
- AJAX获取请求有时会在iOS Safari上失败
- webkitAudioContext在iOS Safari上创建MediaElementSource不工作
- iOS Safari下的密码错误
- 使用javascript编程触发iOS safari中的复制菜单
- 在不支持的浏览器中替代IndexedDB?Safari/iOS Safari Chrome
- iOS Safari过度滚动:下拉与弹跳
- Cordova iframe在iOS Safari中工作,但在Android中不起作用
- iOS Safari 隐私浏览本地存储和会话存储支持
- Cordova / Phonegap iOS Safari和语音合成将无法正常工作
- 在 iOS Safari 中模拟/触发选择框(可能带有触摸端)
- JavaScript 动画在 iOS Safari Webkit 浏览器中停止,当手指在屏幕上而不抬起时
- 为什么在用户滚动后,设置超时不会在触摸端处理程序中触发(iOS Safari)
- 禁用iOS Safari上的轮子选择器
- iOS Safari内存泄漏导致应用程序无法使用
- 在触摸开始或触摸结束时打开IOS Safari窗口
- Hammer.js正在阻止iOS Safari上的滚动事件
- Javascript setTimeout on iOS Safari