700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > jQuery 判断所有图片加载完成【HTML】

jQuery 判断所有图片加载完成【HTML】

时间:2024-03-21 14:10:10

相关推荐

jQuery 判断所有图片加载完成【HTML】

web前端|html教程

jQuery 判断所图片加载完成

web前端-html教程

对于图片的处理,例如幻灯片播放、缩放等,都是依赖于在所有图片完成之后再进行操作。

秒支付宝余额源码,vscode中格式化,ubuntu改驱动,tomcat解析请求过程,爬虫学家 英文,php视频播放源码,sem营销推广方案seo教程,html5 视频网站 模板,齐博模板调用问题 调用不同的head模板lzw

今天来看下如何判断所有的图片加载完成,而在加载完成之前可以使用 loading 的 gif 图表示正在加载中。

首页收藏源码,vscode如何input,ubuntu axis,tomcat猫界面,sqlite怎么把隐藏的,手机版放大镜插件汉化版,中国移动前端框架,爬虫里的库是什么,php 抽奖概率,邯郸公司seo优化,韩国风格网站,基于bootstrap的网页,ecshop模板怎么用lzw

A、普通方法

监听 img 的 load 方法,每 load 一张图片比较一次。关键代码如下:

小程序同城源码无后门,从ubuntu到ros,vapor4 爬虫,信息提交php,鄞州seolzw

var num = $img.length; $imgs.load(function() { num--; if (num > 0) { return; } console.log(load compeleted); }

B、使用 jQuery 中的 Deferred 对象

Deferred 对象是从 jQuery 1.5.0 版本开始引入的一个新功能,详细介绍可以见 官方文档。

简单的说,Deferred 对象就是jQuery的回调函数解决方案,它解决了如何处理耗时操作的问题, 对那些操作提供了更好的控制,以及统一的编程接口。

阮一峰有一篇文章是介绍 Deferred 对象的,写的比较详细,对于入门比较有用。

jQuery的deferred对象详解

在这里,我们用到了:

deferred.resolve(): Resolve a Deferred object and call any doneCallbacks with the given args. deferred.when(): Provides a way to execute callback functions based on one or more objects, usually Deferred objects that represent asynchronous events. deferred.done(): Add handlers to be called when the Deferred object is resolved.

关键代码:

var defereds = [];$imgs.each(function() { var dfd = $.Deferred(); $(this).load(dfd.resolve); defereds.push(dfd); }); $.when.apply(null, defereds).done(function() { console.log(load compeleted); });

基本思路:

每加载完一张图片 resolve(),when() 当所有的 Deferred 完成便执行 done()。

注: 因为 $.when 支持的参数是 $.when(dfd1, dfd2, dfd3, …),所以我们这里使用了 apply 来接受数组参数。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。