同时运行两个jquery事件会导致闪烁

我有两个function,我想同时发生。

函数1是一个窗口scrollTop,function2是一个绝对的元素隐藏(#elem1)。 这两个函数在绝对元素(#elem2)放在(#elem1)之后立即发生。

同时运行这些函数执行如下:

elem1卷轴顶部

elem1是隐藏的

elem2滚动到顶部

这会导致瞬间闪烁,在ios上闪烁,我想避免它。 我会期望改变函数的顺序会给我期望的结果,但是它不起作用(把#elem1隐藏在scrolltop之前)。

我怎样才能做到这一点?

这与以下主题有关,但我想我会简化它。

转换后的jquery元素闪烁和ios上的scrolltop

使用animationfunction(请参阅: http : //api.jquery.com/animate/ ),只有先前的animation完成后才能执行样式更新。 我敢肯定,还有其他更漂亮更正确的方法来解决这个问题,但似乎是有效的。

$('#elem1').animate( { top: 0 } , { duration: 500 , easing: "linear" , complete: function () { $('#elem1').animate( { opacity: 0 } , { duration: 500 , complete: function () { $('#elem2').animate( { top: 0 } , { duration:500 } ); } } ); } } );