- 浏览: 1088818 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (453)
- Struts2 (30)
- Spring (14)
- iBATIS (6)
- Hibernate (13)
- JVM (5)
- JSON (10)
- Ajax (5)
- Flex (1)
- JavaScript (25)
- PowerDesigner (4)
- 项目管理 (7)
- 数据库 (29)
- 生活 (18)
- 软件应用 (21)
- 无线技术 (2)
- Linux (39)
- TOP开发学习 (2)
- JAVA工具小TIPS (2)
- Java通用 (52)
- XML (3)
- 软件测试 (29)
- Maven (10)
- Jquery (1)
- 正则表达式 (3)
- 应用服务器 (15)
- Android (5)
- linux 和windowx 下 tomcat 设置JVM (8)
- 应用服务器 连接池 (4)
- Linux 后台输出中文乱码 (1)
- Hadoop (28)
- python (2)
- Kafka (7)
- Storm (5)
- Elasticsearch (7)
- fddd (1)
最新评论
-
kafodaote:
Kafka分布式消息系统实战(与JavaScalaHadoop ...
分布式消息系统Kafka初步 -
小灯笼:
LoadRunner性能测试实战课程网盘地址:http://p ...
LoadRunner性能测试应用(八) -
成大大的:
Kafka分布式消息系统实 ...
分布式消息系统Kafka初步 -
hulalayaha2:
Loadrunner性能测试视频教程下载学习:http://p ...
LoadRunner性能测试应用(八) -
993042835:
搞好 谢谢
org.hibernate.exception.ConstraintViolationException: could not delete:
通过js操纵DOM很多情况下都是为了实现和当前页html元素的异步载入,我谈谈对Image对象的一些认识。 看个例子: <input type="button" name="" value="载入图片" onclick="addImg('tt.jpg')" /> <script type="text/javascript"> <!-- function addImg(isrc) { var Img = new Image(); Img.src = isrc; Img.onload = function () { document.body.appendChild(Img); } } //--> </script> 当包含上述代码的页面打开时并不载入 “tt.jpg” ,当点击按钮时候才载入。当载入完成后触发onload事件显示到页面上。如果你是第一次加载 “tt.jpg" 这张图片的话,运行正常。点击按钮加载并显示一张图片,如果重复点击会怎么样呢? IE、Opera中,除了第一次加载 图片时候显示正常,之后再点击就没有反应了,刷新也一样。难道它们只触发一次 ”onload“ 事件?是缓存机制? FF、Chrom中,每点击一次加载一张该图片。 稍微修改下: <input type="button" name="" value="载入图片" onclick="addImg('tt.jpg')" /> <script type="text/javascript"> <!-- function addImg(isrc) { var Img = new Image(); Img.onload = function () { document.body.appendChild(Img); } Img.src = isrc; } //--> </script> 运行后发现,奇怪的事情发生了。所有的浏览器都一致了,都是每点击一次加载一张图片。这又是什么原因?由此可以见 IE、Opera 执行过程中并不是只触发一次 onload 事件! 联想一下 Image 对象的一些属性看看,complete、readyState(IE专属值[uninitialized,complete]) (为防止缓存影响效果请更换图片名称!) <input type="button" name="" value="complete" onclick='alert("complete : "+Img.complete +"\nreadyState : "+Img.readyState)' /> <input type="button" name="" value="载入图片" onclick="addImg('mtm.jpg')" /> <script type="text/javascript"> <!-- var Img; function addImg(isrc) { Img = new Image(); //Img.src = isrc; Img.onload = function () { alert("complete : "+Img.complete +"\nreadyState : "+Img.readyState) document.body.appendChild(Img); } Img.src = isrc; } //--> </script> 经过以上测试,可以看出一些不同点,对于 complete 属性来讲,IE是根据图片是否显示过来判断,就是说当加载的图片显示出来后,complete 属性的值才为 true ,否则一直是 false ,和以前是否加载过该张图片没有关系,即和缓存没有关系!但是其它浏览器表现出来的确不一样,只要以前加载过该图,浏览器有缓存,complete 就为 true ,这和IE的 readyState 属性的表现一致! 至此,可以肯定的是所有的浏览器都会缓存图片!可是上面的问题到底是什么原因导致的呢? 众所周知,从缓存里加载东西的速度是很快的,那么在 ... Img.src = isrc; Img.onload = ... ... 的过程中,难道 IE、Opera 加载的速度快到,来不及追加事件? 这回加载一张根本不存在的图片看看效果: <input type="button" name="" value="complete" onclick='alert("complete : "+Imgttmt.complete +"\nreadyState : "+Imgttmt.readyState)' /> <input type="button" name="" value="载入图片" onclick="addImg('mtmttyt.jpg')" /> <script type="text/javascript"> <!-- var Imgttmt; function addImg(isrc) { Imgttmt = new Image(); Imgttmt.src = isrc; alert("complete : "+Imgttmt.complete +"\nreadyState : "+Imgttmt.readyState) Imgttmt.onload = function () { alert("impossible") } } //--> </script> 可以肯定的是所有浏览器都不触发 onload 事件。从是否缓存或已经加载过图片的角度讲,IE、Opera表现正常,complete 始终为 false ;IE的 readyState 始终为uninitialized 。令人疑惑的是FF,其中 Imgttmt.complete 的值一直是 true ;更令人困惑的是 Chrom,它是在最初 new Imgttmt() 的时候 Imgttmt.complete 值为 false。而之后 Imgttmt.complete 值就一直为 true 了!如果换一张从来没有加载过的图片,FF和Chrom 的行为就一致了,都是一开始加载时, Imgttmt.complete 值为false, 之后为 true! 测试的过程中还发现,脚本的执行顺序的确会影响到类似于 onload 等事件的追加,如果在其显示后在追加事件就没有什么实际意义了!基于 javascript 这种解释性语言的特性,在追加事件的时候一定要注意把事件追加在触发该事件的句柄之前。
发表评论
-
使用casperis模拟登陆淘宝的思路及源码
2014-09-17 10:31 4077http://www.xinzimi.com/629.htm ... -
Html中的textarea 的内容不居左显示问题
2011-07-04 10:54 3519我发现jsp页面的中textarea有时候不居左显示,而是在中 ... -
用JS确认删除的两种函数
2011-06-13 11:54 1543<script language="javas ... -
Js 获取当前日期时间及其它操作实现代码
2011-03-25 09:46 1005myDate.getYear(); //获取当前年份(2位) ... -
js获得当前日期和时间的代码
2011-03-25 09:45 2077<html> <head> < ... -
使用flot绘图出现window.G_vmlCanvasManager is null or not an Object
2011-03-01 16:24 1702使用flot绘图出现window.G_vmlCanvasMan ... -
网站加密,防止截屏,打印,另存为
2011-01-17 11:05 38411、禁止另存网页,把如 ... -
DIV 随着滚动条 移动
2010-12-10 13:22 1782<!DOCTYPE html PUBLIC " ... -
一个小巧的图片预加载类...
2010-10-26 13:58 911<!DOCTYPE html PUBLIC " ... -
IE报缺少 冒号, firefox 正常。
2010-10-20 12:04 2820function onDataReceived(series ... -
JavaScript 在 Firefox下正常IE下报错的几个例子
2010-10-20 11:36 15141. json 数据中多余的逗号 : 代码 var m ... -
js function 返回值问题
2010-10-18 22:07 1305<script> function datach ... -
js 判断checkbox是否选中
2010-10-18 22:06 2294Java代码 //第几个没有选 <in ... -
input text 的一些事件
2010-10-10 10:13 4893<html> <head> < ... -
js正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码
2010-09-07 11:09 2696JS-只能输入中文和英文2008-11-08 10:17在js ... -
textarea文字怪异的居中解决办法
2010-09-02 11:16 1720textarea文字怪异的居中解决办法 每次文字从数据库 ... -
禁止另存,复制,右键,选取
2010-08-31 21:08 1205禁止另存代码: <noscript> ... -
一些很实用且必用的小脚本代码
2010-08-25 11:32 945脚本1:进入主页以后自动播放声音 <embed src ... -
动态监听文本框获取焦点与失去焦点事件
2010-08-25 11:27 3610<!DOCTYPE HTML PUBLIC " ... -
计算网页停留时间
2010-08-16 10:43 2555<html xmlns="http://www ...
相关推荐
总结来说,通过JavaScript实现图片预加载的关键点包括正确使用Image对象,处理onload事件以及正确理解并使用complete和readyState属性。此外,要注意不同浏览器间的缓存行为差异,可能需要根据实际情况进行适当处理...
"JS实现图片预加载" 图片预加载是指在浏览器中预先加载图片,以提高用户体验和减少流量...通过使用 Image 对象和 onload 事件,可以实现图片的预下载,并且可以结合容器的宽和高,按照一定的缩放比例使图片显示出来。
JavaScript中,我们可以创建一个新的`Image`对象,并设置其`src`属性为要预加载的图片URL。例如: ```javascript function preloadImage(url) { var img = new Image(); img.src = url; } preloadImage('path/to/...
标题中所提到的知识点是“js的image onload事件使用遇到的问题”,这涉及到JavaScript中Image对象的onload事件处理。在Web前端开发中,onload事件是一个非常重要的概念,主要用于处理图片或者其他资源加载完成后的...
2. **异步预加载**:通过JavaScript创建`Image`对象并设置其`src`属性,这样可以在后台加载图片,不会阻塞页面渲染。例如: ```javascript var img = new Image(); img.src = 'path/to/image.jpg'; ``` 3. **...
JavaScript图片预加载是一种优化网页性能的技术,特别是在网页中包含大量图片或者有动态加载图片需求时。这种方法通过在用户实际查看图片之前,提前加载图片资源,减少用户等待时间,提升用户体验。这里我们将深入...
在网页开发中,我们经常需要动态加载图片,这时就需要利用到Image对象的加载事件(onload)和加载状态(complete)属性。这两个特性可以帮助我们实时监控图片的加载进度,从而实现更灵活的交互效果。 首先,`onload...
### JavaScript 实现图片预加载与懒加载技术解析 #### 一、引言 在现代Web开发中,优化页面加载速度及提升用户体验是非常重要的环节。图片作为网页内容的重要组成部分,其加载方式直接影响着整个页面的性能表现。...
首先,jQuery是一个广泛使用的JavaScript库,它简化了JavaScript的DOM操作、事件处理、动画制作等任务。在本例中,我们使用的jQuery版本为1.3,虽然这是一个较旧的版本,但其核心功能依然足够完成图片预加载的任务。...
1. **使用`new Image()`对象**:创建一个新的Image对象,设置其src属性为需要预加载的图片URL,图片会被加载到浏览器缓存。 2. **监听图片加载状态**:使用`onload`和`onerror`事件来确认图片是否成功加载。 3. **...
这个函数会遍历图片列表,为每张图片创建一个新的`Image`对象,然后将图片的URL设置为`src`属性。这样,浏览器就会在后台开始下载这些图片,而不会阻塞其他页面元素的加载。 例如,以下是一个简单的预加载函数示例...
- **异步加载**:利用JavaScript创建Image对象,设置图片URL,并监听其`onload`事件,当图片加载完成后触发事件处理函数。 - **利用CSS背景图像**:通过CSS设置元素的背景图像为待加载图片,浏览器会在渲染页面时...
事件加载和预加载是JavaScript优化用户体验的关键技术。本文将深入探讨这两个概念,并提供相关实践策略。 首先,我们来理解“事件加载”。在网页中,事件是指用户与页面交互时发生的事情,比如点击按钮、滚动页面等...
基本的JavaScript图片预加载方式是创建一个`<img>`元素,设置其`src`属性为待加载图片的URL,然后将其添加到DOM中。如下所示: ```javascript function preloadImage(url) { var img = new Image(); img.src = ...
2. 图片对象:使用HTML `<img>` 标签的 `src` 属性和 `onload` 事件,以及JavaScript中的 `Image` 对象进行预加载。 3. 队列管理:有序加载可能涉及到一个队列系统,将图片按顺序加入队列,然后逐个加载。 4. 进度...
- 在ViewModel中创建一个异步加载图片的方法,该方法返回一个包含图片的`ImageSource`对象。 - ViewModel中声明一个依赖属性,用于存储图片源。当图片加载完成时,通过数据绑定更新UI中的Image控件的Source属性。 ...
- 使用JavaScript的`Image`对象创建一个新的图片实例,设置其`src`属性为数组中的一个URL,然后监听`onload`事件。 - 当图片加载完成时,触发`onload`事件,更新加载进度并检查是否所有图片都已经加载完成。 - 在...
JavaScript图片预加载可以分为不同的方式,其中最常见的是使用JavaScript来创建一个Image对象,并将其src属性设置为要加载的图片地址,这种方式可以异步地下载图片而不会影响页面其他元素的加载。 在上述给出的实例...
1. **创建 Image 对象**:JavaScript 的 Image 对象可以用来在后台加载图片,不阻塞页面的其他操作。PreLoad 插件会为每个需要预加载的图片创建一个新的 Image 对象,并设置其 `src` 属性为图片的 URL。 2. **监听...