javascript - 检查页面何时加载以及打开动画何时完成

标签 javascript jquery animation callback

我面临一个概念性问题。
在我的网站的开头,我有一个OPENING ANIMATION(在加载程序中),当然,我想显示所有内容,从开始到结束。然后,当页面完全加载时,我将显示该页面。

现在有两种不同的情况:

  • 第一:快速互联网 -> 页面在动画结束之前加载
  • 第二:网速慢 -> 在加载结束之前打开完成

我想要实现的是显示整个开头,然后如果页面已加载,则关闭开头/加载器,或者如果页面未加载加载完毕等待加载结束关闭opening/loader

我想使用 $(windows).load("close loader") 但如果加载速度很快,加载程序将在动画结束之前关闭。

我尝试了什么

$(window).load(function(){
        if( done ){
            console.log("bar done");
            $("#openingLoader").addClass("done");
        }
        done = true;
    });

在开始动画的回调中

if( done ){
        console.log("opening done");
        $("#openingLoader").addClass("done");
        }
done = true;

但我认为这不是解决这个问题的好方法。 有什么想法吗?

最佳答案

您的问题显然有两个条件,但您尝试的每个解决方案只有一个条件。

当动画完成或页面加载时,设置页面加载函数的回调。页面加载函数需要检查两个条件是否都满足,如果满足则打开页面。

伪代码:

animationFinishedCallback = function(){
  animationFinished = true;
  tryPageOpen();
}
pageLoadedCallback = function(){
  pageLoaded = true;
  tryPageOpen();
}

function tryPageOpen() {
  if (animationFinished && pageLoaded) {
     openPage();
  }
}

关于javascript - 检查页面何时加载以及打开动画何时完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30816904/

相关文章:

javascript - d3 图中的事件

javascript - JSON 不允许 :\

animation - 如何为标签设置动画以在 d3 中使用起始角度和结束角度与圆环图一起流动。

android - 在 Android 中滑动解锁动画

javascript - Oracle ADF 与 EmberJs 或 AngularJs 等 Javascript MVC 框架

javascript - 如何使用 Angular $location 通过动态更改其键值参数来设置我的新 url 位置?

javascript - 使用嵌套值对 <ul> 列表中的对象进行排序

javascript - 如何通过 PHP 脚本 jQuery XML 文件并正确解析它?

jquery - 属性等于选择器不工作 ("input[name=' 名称']")

javascript - Ionic - 禁用 View 过渡动画,但仅适用于单个 View