如何在 div #content 加载时显示 div #loading

2024-01-01

我想实施一个解决方案:

  1. 当 div #content 中的内容正在加载时,
  2. 隐藏 div #content,
  3. 显示 div #loading,
  4. 然后当 div #content 加载完毕后,
  5. 隐藏div#loading,
  6. 淡入 div #content

我努力了:

html:

<div id="content">
<!--this stuff takes a long time to load-->
<img src="http://lorempixel.com/1920/1920/">
</div>
<div id="loading">
<!-- this is the loading gif -->
<img src="http://lorempixel.com/400/200/">
</div>

js:

// when user browses to page
$('#content').hide();
$('#loading').show();

// then when div #content has loaded, hide div #loading and fade in div #content
$('#content').bind('load', function() {
$('#loading').hide();
$('#content').fadeIn('slow');
});

这是我正在开发的 jsfiddle:

http://jsfiddle.net/rwone/Y9CQ4/ http://jsfiddle.net/rwone/Y9CQ4/

谢谢。


根据.load() http://api.jquery.com/load-event/,事件应该触发,当

当元素和所有子元素完全加载时,加载事件将发送到该元素。该事件可以发送到任何元素与 URL 关联:图像、脚本、框架、iframe 和窗口对象。

因此,您不能将加载事件处理程序绑定到div标签。当您希望在图像加载后触发事件处理程序时,必须将其绑定到图像

HTML:

<div id="content">
<!--this stuff takes a long time to load-->
<img id="large" src="http://lorempixel.com/1920/1920/">
</div>
<div id="loading">
<!-- this is the loading gif -->
<img src="http://lorempixel.com/400/200/">
</div>

JS:

// when user browses to page
$('#content').hide();
$('#loading').show();

// then when the #content div has loaded
$('#large').bind('load', function() {
$('#loading').hide();
$('#content').fadeIn('slow');
});

JSFiddle http://jsfiddle.net/Y9CQ4/1/

或者您可以将事件绑定到window对象,当

该页面已完全加载,包括图形。

JS:

$(window).bind('load', function() {
$('#loading').hide();
$('#content').fadeIn('slow');
});

JSFiddle http://jsfiddle.net/Y9CQ4/2/

第三种方法是在加载事件触发时测试是否所有图像都已加载

function allImagesLoaded() {
    var imgs = $(this).closest('div').find('img');
    var loaded = 0;
    imgs.each(function() { if ($(this.complete)) ++loaded; });
    if (imgs.length == loaded) {
        $('#loading').hide();
        $('#content').fadeIn('slow');
    }
}

// when user browses to page
$('#content').hide();
$('#loading').show();

// then when the #content div has loaded
$('#content img').bind('load', allImagesLoaded);

JSFiddle http://jsfiddle.net/Y9CQ4/3/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 div #content 加载时显示 div #loading 的相关文章

随机推荐

  • 我可以更改 C# WebMethod 中的参数名称吗?

    C WebMethod 是否可以接受与其客户端发送的参数名称不同的参数名称 例如 假设客户端发送此消息
  • mplfinance 中是否有相当于 plt.scatter 的东西?如何在 mplfinance 中绘制数据点图表?

    mplfinance 中 plt scatter 的等价物是什么 我正在使用 mpl Finance 绘制股票价格图表 def graph file prices1 xlsx data pd read excel file sheet na
  • requireJS 可选依赖

    我正在将 AMD 支持添加到我开发的 JavaScript 库中 该库可能使用 jquery 但如果未加载 jquery 它仍然可以工作 定义模块依赖项时 有一种方法可以将依赖项设置为 可选 这样如果缺少该库 该模块仍然可以工作 我最近遇到
  • Swift:如何从表视图中删除重复项?

    这里的问题是我的表视图中出现重复项 我知道为什么 但我不知道如何修复它并实现不同的系统 我的应用程序是一个博客阅读器 它使用 PHP 从 MYSQL 数据库读取数据 然后将 JSON 发送到我的 Swift 应用程序 我的表视图有两个部分
  • Javascript/jQuery 动画到动态高度?

    有谁知道为什么这个动画效果很好 function setContainerHeight pagecontainer animate height 700px 500 即固定高度 但这根本不动画 function setContainerHe
  • 在控制台中同时输入和输出

    一个线程将值无限地打印到控制台 另一个主线程从控制台获取用户输入 但输入值与该线程的输出混合 C cin 同时 cout https stackoverflow com questions 27650706 c cin while cout
  • 拍照时 Uri 必须不为 null 或为空

    我试图在按下 CircleImageView 时拍照 拍摄照片后裁剪它 然后开始上传到 Firebase 问题是我按下并且相机正确打开 但是当我拍照时应用程序崩溃 向我发送此错误Failure delivering result Resul
  • WKWebView 函数用于检测 URL 是否已更改

    WKWebView 类是否有一个函数可以让您检测到该 WebView 的 URL 何时发生更改 The didCommit and didStartProvisionalNavigation在使用 WebView 中的某些元素时 函数似乎并
  • Jquery - 延迟鼠标移出事件

    有没有办法让 jQuery 在之前等待一定的时间mouseout事件被解雇 目前它触发得太早 我宁愿等待 500 毫秒 然后再评估鼠标的离开 下面是我使用的代码示例 under construction this bind mousemov
  • asp.net web表单json返回结果

    我使用 asp net 和 Web 表单 在我的项目中我有 asmx Web 服务 WebMethod public string GetSomething avoid circual reference parent child List
  • 使用Python提取目录中所有pdf文档的页数

    我正在尝试使用 PyPDF2 来获取目录中每个 pdf 的页数 我可以使用 getNumPages 查找一个 pdf 文件中的页数 但我需要遍历一个目录并获取每个文件的页数 有任何想法吗 这是我到目前为止的代码 import pandas
  • 在 Bootstrap 3 中创建基础风格的块网格?

    在 Zurb Foundation 3 中 它们有一个 块网格 的 CSS 构造 它是一个无序列表 您可以在其中指定一行中的项目数 这是他们的文档 http foundation zurb com docs components block
  • 文件名中带有空格的 sqlcmd 脚本

    我有一个简单的SQLCMD脚本包含如下几行 Load data into Exampletable BULK INSERT dbo Example NOTE I ve tried single AND double quotes here
  • c# - 有没有办法制作固定(高度/宽度)控制台?

    我一直在 microsoft Visual Studio 2013 中闲逛 我制作了一个控制台应用程序 但我想知道是否有一种方法可以为其设置固定大小 高度 宽度 这意味着它无法调整大小 如果有人知道这是否可行 如果您能帮助我 我将不胜感激
  • 在 java 8 中将字符串转换为 Map

    有人可以指导我如何使用 Java 8 实现以下目标吗 我不知道如何将该计数器作为密钥 String str abcd Map
  • 如何将附加参数传递给 TypeScript 中的属性装饰器?

    我有一个简单的类 它的属性有物业装饰师 https github com Microsoft TypeScript Handbook blob master pages Decorators md property decorators应用
  • jQuery 根据复选框验证不同的字段

    我正在尝试使用jQuery 验证插件 http jqueryvalidation org 验证我的一份申请中的表格 表格 简化 如下
  • 如何在 tkinter 中创建模式对话框?

    我有一个运行一些嵌入式 Python 脚本的 MFC 应用程序 我正在尝试使该嵌入脚本创建模式的对话框之一 但我没有取得太大成功 谁能指出我制作模式对话框的方法 我是否需要为此使用 Windows 函数 还是仅 Tk 或 Python 函数
  • 如何在水晶报表中合并行?

    我正在使用 Crystal Report Version 10 2 Visual Studio 2008 并在 Crystal Report 中显示存储过程的结果 我的存储过程返回输出 如下所示 但我想在报告中显示 如下所示 提前致谢 使用
  • 如何在 div #content 加载时显示 div #loading

    我想实施一个解决方案 当 div content 中的内容正在加载时 隐藏 div content 显示 div loading 然后当 div content 加载完毕后 隐藏div loading 淡入 div content 我努力了