我有一个非常讨厌的问题(根据几个来源,这里是one)已经用iOS 8解决了。
我正在使用$(window).scroll(function({ /*do stuff*/ })
来检查屏幕上是否有元素,如果是这种情况则会发生其他情况。非常简单的东西。但似乎iOS设备"渲染"滚动完成后jQuery所做的事情。
以下是代码片段:
if($(window).width() < 601) {
$(".revealer-box").show();
$(window).scroll(function() {
if( isOnScreen(".revealer-box") ) {
if(flagCallG) {
$(".some-element").css("display", "flex");
$(".some-element").css("display", "-webkit-flex");
/* other unimportant stuff*/
flagCallG = false;
} else {
$(".some-element").css("display", "flex");
$(".some-element").css("display", "-webkit-flex");
}
} else {
$(".some-element").css("display", "none"); }
});
}
我在Mac上使用iOS模拟器,并在真实设备上试用过它。向下滚动,抬起手指后,更改变为可见。