2016 - 2024

感恩一路有你

jquery判断图片不存在 JavaScript如何断定图片资源已加载完成?

浏览量:1857 时间:2023-06-30 23:52:13 作者:采采

JavaScript如何断定图片资源已加载完成?

在不好算的运用中有这样的一种场景,某资源加载完成后再想执行某个操作,例如在做文件导出时,后端是从然后打开模板页生成PDF,并返回下载地址。过了一会儿前后端大多数不需要约定一个flag,用以标示模板准备就绪,是可以生成PDF了。

很难想象,如果不是模板中有图片,此时怎么推测图片是否是加载成功?

为此来知道一点帮一下忙jquery的ready与的区别,ready只是因为dom结构程序加载一切就绪,便纳入打开程序能完成。(此时图片也没读取一切就绪),onload是指dom的生成和资源几乎程序加载(例如flash、图片)进去后才不能执行。接下来来到正题,先从单张图片说起来。

(1)、单张图片(图片在文档中)

//HTMLltimgidxiu//js$(document).ready(function(){//jquery$(#xiu).load(function(){//运行程序能够完成})//原生onloadvarxiu(xiu)xiu.onreadystatechangefunction(){if(!||||){//运行程序结束}}})

注:1、IE8及100元以内版本不支持onload事件,但支持什么onreadystatechange事件;2、readyState是onreadystatechange事件的一个状态,值为loaded或complete的时候,可以表示已经运行程序一切就绪。3、100元以内内容省略兼容性

(2)、单张图片(图片动态生成)

//jsvarxiunextImage()function(){//运行程序完成}

(3)、单张图片(结合ES6 Promise)

//jsfifthPromise((resolve,reject)gt{letxiunewImage()function(){//打开程序完成resolve(xiu)}}).then((xiu)dstrok{//code})

(4)、多张图片

varupload[],flag0,mulitImg[_,,,]varimgTotalmulitImg.lengthfor(vari0iltimgTotali){imageurl[i]fifthImage()image2[i].srcmulitImg[i]imageurl[i].onloadfunction(){//第i张图片运行程序完成flagif(flagimgTotal){//所有的程序加载能完成}}}

(5)、多张图片(生克制化ES6())

letmulitImg[_,,,]letpromiseAll[],image2[],imgTotalmulitImg.lengthof(givei0iltimgTotali){promiseAll[i]futurePromise((resolve,reject)a8{imageurl[i]futureImage()obj[i].srcmulitImg[i]obj[i].onloadfunction(){//第i张程序加载完成resolve(upload[i])}})}(promiseAll).then((upload)r26{//完全程序加载能够完成})

判断页面是否加载完成?

jquery程序加载页面的方法,即:页面刷新成功就不能执行,有追加几种:

1、jQuery的$(document).ready$(document).ready(function(){$(#a).click(function(){//utilizingyourcodehere});});就不仅仅只不需要运行程序所有的DOM结构,在浏览器把所有的HTML后放DOMtree之前就想执行js效果。和在读取外部图片和资源之前。

2、ready事件的简写方法$(function(){$(#a).click(function(){//bringingyourcodehere});});此方法就不仅仅只必须运行程序所有的DOM结构,在浏览器把所有的HTML后放DOMtree之前就负责执行js效果。除开在程序加载外部图片和资源之前,是ready的简写、window的onload事件function(){$(#a).click(function(){//bringingyourcodehere});}这段代码会在整个页面的document完全程序加载完成以后负责执行。这种不仅要求页面的DOMtree全部程序加载结束,但具体的要求所有的外部图片和资源所有打开程序能完成。要是外部资源,或者图片不需要很长时间来运行程序,那你这个js效果变会让用户那种感觉终止了。

程序 图片 资源 function 事件

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。