在页面加载之前显示加载图标?

新手上路,请多包涵

我想向用户显示一个加载图标,直到页面元素完全加载。我怎么能用 javascript 做到这一点,我想用 javascript 而不是 jquery 做到这一点?

是一个链接,谷歌如何做到这一点我该怎么做?在 onload 事件或类似的事情上触发某些功能.. 我知道它会像这样或任何其他方式来完成?或者有什么活动?

更新 我使用显示属性做了一些事情,我隐藏了body元素,但是和body标签的onload我改变了它的属性,但是在哪里放置加载图标并添加更多的交互性。

原文由 Sky 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 738
2 个回答

HTML

 <body>
    <div id="load"></div>
    <div id="contents">
          jlkjjlkjlkjlkjlklk
    </div>
</body>

JS

 document.onreadystatechange = function () {
  var state = document.readyState
  if (state == 'interactive') {
       document.getElementById('contents').style.visibility="hidden";
  } else if (state == 'complete') {
      setTimeout(function(){
         document.getElementById('interactive');
         document.getElementById('load').style.visibility="hidden";
         document.getElementById('contents').style.visibility="visible";
      },1000);
  }
}

CSS

 #load{
    width:100%;
    height:100%;
    position:fixed;
    z-index:9999;
    background:url("/loading.gif") no-repeat center center rgba(0,0,0,0.25)
}

笔记:

如果您的页面加载速度很快,您将看不到任何加载 gif,因此在加载时间较长的页面上使用此代码,我还建议将您的 js 放在页面底部。

演示

http://jsfiddle.net/6AcAr/ - 超时(仅用于演示)

http://jsfiddle.net/47PkH/ - 没有超时(用于实际页面)

更新

http://jsfiddle.net/d9ngT/

原文由 Viscocent 发布,翻译遵循 CC BY-SA 4.0 许可协议

将加载程序放入网站的最简单方法。

HTML:

 <div id="loading"></div>

CSS:

 #loading {
position: fixed;
width: 100%;
height: 100vh;
background: #fff url('images/loader.gif') no-repeat center center;
z-index: 9999;
}

查询:

 <script>
jQuery(document).ready(function() {
    jQuery('#loading').fadeOut(3000);
});
</script>

原文由 Mahendra pratap singh ahada 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题