php - 加载程序,它还显示网页加载的百分比

标签 php javascript jquery html ajax

我的网站上有一个加载程序,它在显示任何文本、图片和其他内容之前加载网页的所有照片。所以我将背景代码、主包装器(带有设计)等与页面中的所有图像一起放置 (style="width:0;height:0;visibility:hidden;"和其他使它们不可见的东西)。然后我说了一些正在加载......

HTML:

<body onLoad="load()">
<div class="main-wrapper" id="main-wrapper">
     <p>Loading.....</p>
</div>
<img src="xxxxx" class="hidden">
<img src="xxxxx" class="hidden">
<img src="xxxxx" class="hidden">
<img src="xxxxx" class="hidden">

Javascript:

function load()
{
document.getElementById('main-wrapper').innerHTML = "Text I Want <img src="x"";>
}

这使得我想要在所有图像加载后显示的文本。现在我在.innerHTML="";中写我想要的内容没有问题了。

请告诉我一种方法,这样我也可以使用任何编码语言来判断加载百分比。还请告诉我是否有更好的方法来做到这一点,但要告诉我加载的百分比。

最佳答案

一个简单的解决方案,只计算图像的数量而不考虑图像的大小(只是一个简单的例子......):

function loadPage(html) {
  // html contains the html to add to #main-wrapper

  // put the html in an element to count the images in it
  var el = $("<div>").html(html);
  var imgCount = el.find("img").length;
  var count = 0;
  var percentage = 0;

  $("img", el).load(function() {
    count++;
    if (imgCount === count) {
      $("#main-wrapper").html(html);
    } else {
      percentage = (count / imgCount) * 100;
      $("#main-wrapper").html("loading ("+ percentage + "%) ...");
    }
  });
}

图片加载前很难获取图片大小;我最近没有尝试过,但之前很容易在 Firefox 中获取大小,但不可能在例如 webkit 中获取它们。

关于php - 加载程序,它还显示网页加载的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14789230/

相关文章:

php - 不正确的前缀键 MySQL

javascript - 获取 Angular ui 路由器 $location.search() 以使用基本 URL 参数

javascript - 定义数组的两种方法

javascript - 仅在单击时打开 Jquery-ui 工具提示

javascript - 如何克服asp.net mvc3中的ajax数据大小限制

jquery - 使用 jQuery 获取子项的最大高度值,然后将该高度值应用于所有子项

PHP 准备语句(递归函数),你能解决这个问题吗?

php - 支付宝整合,查询

php - 是否存在用于表示来自不同表的多个对象的规范化形式?

javascript - 客户端包括 vs 服务器端包括?