此代码在我的iphone上运行正常,然后更新为 iOS 9.0.1 (13A404),但现在相同的代码似乎只能在手指释放后工作,
或jQuery onscroll
结束后,当我快速滑动离开页面滚动...
$(document).on('scroll', function(){
if( $(this).scrollTop() > 0){
$('.menu').addClass('sticky');
}else{
$('.menu').removeClass('sticky');
}
});
粘性菜单消失,直到我从屏幕上释放手指,失去了"粘贴"在我所有的网站上刷过之前实时的效果,现在已经破了......
如何解决这个问题让他们像以前一样工作? (实时光滑粘贴)
答案 0 :(得分:9)
在观察相同的行为并稍微测试之后,最简单的方法是激活3D变换as proposed in a similar question:
.sticky-element {
-webkit-transform: translate3d(0px,0px,0px);
}
答案 1 :(得分:1)
我看到了同样的行为。 iOS9似乎不想绘制位置:固定元素,直到滚动事件结束。
示例:http://senaeh.de/demo/stickyheaders/simple/
在页面停止滚动或用户将手指从屏幕上移开之前,新的粘性标题将不会显示。其他CSS更改,例如背景颜色应该工作。
这是一个回归,因为iOS8完全允许这一点。不幸的是,从ios9.0.1开始,粘性标题不顺畅。它们仍然适用于老旧的Android设备,所以我不确定这是一个错误,还是Apple试图增加电池续航时间。
编辑:我向Apple提交了一个错误(#22902083),所以我们希望他们做出更新来解决这个问题。