`
talentluke
  • 浏览: 600858 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JS缓存图片实例

 
阅读更多

JS缓存图片实例

现有JS功能越来强大了,很多基于JS的Web Game做得都非常好。但JS程序不像客户端程序,很多程序里需要使用到的图片、资源等都要从远程服务器获取。因此如果等程序要用到时再从远程服务器下载的话可能来不及。对用户体验来讲影响很大。因此就需要提前为JS程序缓存需要用到的资源文件。下面就来介绍一下最常用的图片缓存。

首先大家可以看一下这个 示例 ,这是一个简单的抽奖程序,点开始时不断的重复显示13张扑克牌,点结束时就暂停以显示结果。

image

如果我们直接用for循环或者用随机函数直接调用文件的话则有些图片由于没有加载成功所以会显示个大大的叉(你懂的Smile),而且不管你是在本地运行该文件或者把时隔时间调成多长都会存在这个问题。

因此我们需要提前缓存图片对像,但由于图像有13个所以我们创建了一个图像数组进行加载。当计数器显示成功加载完成的图像跟总数相符时则开始程序。以下为详细的代码。

var Imgvalue; var Count =13; var Imgs = new Array(Count); var ImgLoaded =0; //预加载图片 function preLoadImgs() { alert('图片加载中请稍等......'); for(var i=0;i<Imgs.length;i++){ Imgs[i]=new Image(); downloadImage(i); } } //加载单个图片 function downloadImage(i) {     var imageIndex = i+1//图片以1开始     Imgs[i].src = "images/"+imageIndex+".jpg";     Imgs[i].onLoad=validateImages(i); } //验证是否成功加载完成,如不成功则重新加载 function validateImages(i){ if (!Imgs[i].complete)     {      window.setTimeout('downloadImage('+i+')',200);         } else if (typeof Imgs[i].naturalWidth != "undefined" && Imgs[i].naturalWidth == 0)     {     window.setTimeout('downloadImage('+i+')',200);     }     else      {         ImgLoaded++         if(ImgLoaded == Count)         {             document.getElementById('BtnStart').disabled=false;             document.getElementById('BtnStop').disabled=false;             alert('图片加载完毕!');         }     } } //开始 function RandStart() {     Init = setInterval('SetRand()',50);     } //随机显示 function SetRand() {     imageIndex = Math.floor(Math.random()*Count);     document.getElementById("ImgView").src = Imgs[imageIndex].src; } //结束 function RandStop() {     window.clearInterval(Init);; }
分享到:
评论

相关推荐

    JavaScript网页开发实例教程

    ### JavaScript网页开发实例教程知识点详解 #### 一、前言 在《JavaScript网页开发实例教程》这本资料中,作者通过一系列实际案例深入浅出地介绍了JavaScript在网页开发中的应用。该教程旨在帮助读者理解并掌握...

    HTTP网络缓存代码实例

    - 对于不常变化的静态资源(如图片、CSS、JavaScript),设置较长的`max-age`。 - 使用版本号或时间戳作为动态资源的URL一部分,使每次更新时URL改变,强制浏览器重新请求。 - 避免缓存敏感信息,如登录状态、个性化...

    js网页图片向上滚动实例

    另外,优化性能也非常重要,例如通过缓存图片位置,避免频繁的DOM操作,以减少页面重绘和提高用户体验。 总的来说,"网页图片向上滚动"是一个结合了JavaScript和CSS技术的互动效果,通过巧妙的编程技巧,可以为网站...

    JavaScript精彩网页特效实例精粹

    在"JavaScript精彩网页特效实例精粹"这个资源中,包含了14个章节,每个章节都涵盖了一个或多个实用且引人入胜的特效实例。这些实例旨在帮助开发者提升JavaScript技能,创造更具互动性和吸引力的网页体验。 首先,...

    js photoswipe实例手机端图片幻灯片展示特效

    在“js photoswipe实例手机端图片幻灯片展示特效”中,我们主要会接触到以下几个关键知识点: 1. **JavaScript基础**:Photoswipe基于JavaScript构建,因此对JS的基本语法和DOM操作的理解是必不可少的。你需要知道...

    Javascript开发实例:仿FLASH的图片轮换播放器

    在JavaScript开发领域,创建一个仿FLASH的图片轮换播放器是一项常见的挑战,它涉及到动态内容展示、用户交互和视觉效果的实现。这个实例是利用JavaScript的灵活性和强大的DOM操作能力,来模拟曾经广泛使用的FLASH...

    javaScript特效实例+技巧

    可以尝试复现提供的JS_test中的实例,或者参与开源项目,通过实际操作提升技能。 - 学习资源推荐:MDN Web文档、W3School、Eloquent JavaScript等在线教程,以及Stack Overflow、GitHub等社区中的问题解答和代码...

    程序天下:JavaScript实例自学手册

    1.14 禁止页面加入缓存 1.15 离开页面时弹出对话框 1.16 判断页面是否添加了W3C声明 1.17 屏蔽网页中的脚本 1.18 以频道模式打开页面 1.19 自动识别网页类型 1.20 在网页中动态添加Script脚本 1.21 用JavaScript随机...

    Jquery实例--图片预加载

    这样当用户滚动到相应位置或点击按钮显示图片时,图片已经存在于浏览器的缓存中,可以立即展示,提高了页面的响应速度。 以下是一个基本的jQuery图片预加载的实现步骤: 1. **引入jQuery库**:在HTML文件中,我们...

    图片布局实例.rar

    这个名为"图片布局实例.rar"的压缩包文件显然包含了关于如何使用JavaScript(JS)来实现图片相册效果的实例代码。让我们深入探讨一下这个话题。 首先,"JS特效-图片相册"标签表明我们将讨论的是一种利用JavaScript...

    突破JavaScript编程实例五十讲

    JavaScript,作为互联网上最广泛使用的编程语言之一,对于网页动态化、Web应用程序开发以及现在流行的Node.js后端开发都有着至关重要的作用。本教程的目标是帮助开发者在实际编程过程中提升技能,解决遇到的问题,并...

    9个Jquery图片实例

    标题提到的“9个Jquery图片实例”是一系列利用jQuery实现的图片效果,这些效果可以为网站增添动态视觉效果,提升用户体验。以下是对这些实例可能涉及的知识点的详细解释: 1. 图片轮播(Slideshow):这是最常见的...

    使用页面动态生成图片实例

    本实例将深入探讨如何实现页面动态生成图片,主要包括以下几个关键知识点: 1. **HTML5 Canvas**: HTML5 的 `&lt;canvas&gt;` 元素提供了一个画布,允许通过 JavaScript 在网页上进行图形绘制。通过调用 `canvas` 对象的...

    《程序天下:JavaScript实例自学手册》光盘源码

    1.14 禁止页面加入缓存 1.15 离开页面时弹出对话框 1.16 判断页面是否添加了W3C声明 1.17 屏蔽网页中的脚本 1.18 以频道模式打开页面 1.19 自动识别网页类型 1.20 在网页中动态添加Script脚本 1.21 用JavaScript随机...

    javaScript实例自学手册486例,附带目录可方便搜索

    javaScript实例自学手册代码,加了个index.html方便搜索 内容如下面的。 1.1 HTML页面反向显示.htm 1.10 定义网页的关键字.htm 1.11 进入页面同时弹出欢迎对话框.htm 1.12 禁止网页另存.htm 1.13 禁止页面加入...

    javascript图片预加载完整实例

    1. 创建Image对象:通过JavaScript创建一个Image实例,并设置其src属性来开始图片下载过程。 2. 回调函数的使用:在图片加载完毕后执行回调函数,可以用来更新页面元素的显示,或者执行其他后续操作。 3. 错误处理:...

    Java Script精彩实例教程下载

    【JavaScript精彩实例教程】是一份全面介绍JavaScript编程的资源,旨在帮助学习者通过实例深入理解这一脚本语言。JavaScript,不应当与Java混淆,是一种广泛应用于网页和网络应用的编程语言,尤其在前端开发中起着至...

    go.js 实例应用

    Go.js 是一个强大的JavaScript库,专门用于在Web应用程序中创建交互式和动态的图表与图形。这个库提供了丰富的功能,让开发者能够轻松地构建复杂的网络图表,如流程图、组织结构图、网络拓扑图等。Go.js 提供了丰富...

    用法PHP+JavaScript将HTML页面转换为图片的实例分享_.docx

    - **缓存图片**:如果启用图片缓存,将生成的PNG图像保存到指定的缓存文件夹。 - **输出图像**:最后,设置HTTP头为PNG图像类型,并使用`ImagePNG`将图像发送到浏览器。完成这些步骤后,使用`ImageDestroy`销毁...

Global site tag (gtag.js) - Google Analytics