ios - iOS 10 Safari 修复了滚动后无法点击的菜单按钮
问题描述
我在 iOS 10 Safari 上的固定菜单存在问题,其中按钮有时在滚动后变得无法点击。从调试中,我能说的最好的就是菜单按钮的位置在滚动后并不总是正确更新。 定位错误截图
有时需要多次单击按钮才能响应,有时它会在菜单打开之前强制屏幕滚动或缩放。
从我所见,这个问题似乎只发生在使用 Safari 的 iPhone 7 上,但它可能存在于我尚未找到的其他地方。
我在这里创建了一个带有问题的页面的简化版本:http: //meghandove.com/test.html
jQuery(document).ready(function() {
jQuery('a.menu-trigger').click(function(e) {
e.stopPropagation();
e.preventDefault();
if (jQuery('.menu').hasClass('menu-open')) {
jQuery('.menu').removeClass('menu-open');
jQuery('.menu').addClass('menu-close');
} else {
jQuery('.menu').removeClass('menu-close');
jQuery('.menu').addClass('menu-open');
}
});
});
body {
padding-top: 60px;
}
header {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 60px;
background: #FFFFFF;
transform: translate3d(0, 0, 0);
}
header .menu-trigger {
padding: 20px;
display: block;
text-align: center;
}
.menu ul {
height: 100%;
background: #FFFFFF;
margin: 0;
padding: 30px 0 0;
list-style: none;
position: fixed;
top: 50px;
right: 0;
}
.menu ul li,
.menu ul li a {
display: block;
}
.menu ul li {
display: none;
opacity: 0;
}
.menu.menu-open ul li {
display: list-item;
opacity: 1;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<header class="navbar">
<a href="#" class="menu-trigger"><span>Menu</span></a>
<nav class="menu">
<div class="menu-ul">
<ul>
<li class="menu-item"><a href="/#about">About</a></li>
<li class="menu-item"><a href="/#something">Something</a></li>
<li class="menu-item"><a href="/#somethingelse">Something Else</a></li>
</ul>
</div>
</nav>
</header>
解决方案
推荐阅读
- r - 如何在 r markdown 中将 kable 和 ggplot 在一行(并排)对齐?
- time-complexity - 这个子集查找器的时间复杂度是多少?
- php - ReactJS - PHP GET 请求已被 CORS 策略阻止
- javascript - 如何附加本地存储新对象
- javascript - 无法捕获 knex 交易拒绝
- html - 如何将文本放在预先存在的边框内
- c++ - 为什么 std::deque 不允许指定桶大小?
- latex - 从 Doxygen 文件生成 PDF 时如何解决这些错误?
- tfs - tfs 将工作项分配给已删除的团队成员
- mongodb - null 是否会消耗 mongo 中的内存和磁盘空间?