保持对元素的关注,而元素在上面延迟加载 - jquery scrollTop

时间:2012-10-30 17:28:04

标签: jquery lazy-loading scrolltop

我们懒得加载页面的几个元素。

但是,在顶部,我们对页面上的最后一个元素(ui标签内的iframe)进行了调用操作。 CTA使用scrollTop进行动画制作。

在我的点击功能

$('html,body').animate({scrollTop: $("#customerReviews").offset().top}, 700, "easeInOutSine");

问题在于,当触发滚动时,它还会在项目进入视口时触发延迟加载。因此,目标进入视图,然后在项目完成上面的延迟加载时被推出视图。

有什么好方法可以抵消这个?

1 个答案:

答案 0 :(得分:2)

我会创建一个isAnimating布尔变量来跟踪你动画页面的时间。

在您的动画调用集isAnimating为true之前,并在动画回调中将其设置为false。

我不确定你是如何调用延迟加载的,但是当isAnimating设置为true时,你必须将条件设置为不运行。

isAnimating = true;
$('html,body').animate({scrollTop: $("#customerReviews").offset().top}, 700, "easeInOutSine", function(){
      isAnimating = false;
});