我目前正在使用HTML5和jQuery开发适用于iPad Safari的网络应用程序。我遇到了一个问题,其中较大的滚动区域会导致向下滚动时在延迟后出现屏幕外的元素。
我的意思是,如果我有一排不在屏幕上的图像(甚至是带有渐变的div),则当我向下(或向上)滚动到该图像时,预期的行为是该元素在屏幕上显示为我正在滚动到它。
但是,我看到的是,直到我将手指从屏幕上移开并且滚动器完成了所有动画后,该元素才出现。
这给我造成了一个非常明显的问题,尽管看起来并非如此,但整个事情看起来却很不稳定。我猜想iPad Safari正在尝试做一些事情来节省内存。有什么方法可以防止这种不连贯现象的发生。此外,如果有人能阐明iPad Safari的实际用途,我也将不胜感激。
<svg>
要素表现出类似的延迟绘制/渲染。不幸的是,*:not(html) { ... }
导致了各种奇怪的行为,如@JonathanTonge所指出的那样。但是,仅选择<svg>
元素并使用translate3d(0, 0, 0,);
似乎解决了我的滚动问题。