`

解决图片预装载问题

    博客分类:
  • js
阅读更多
今天有人在群里提出了 这么个问题


<script language="javascript" type="text/javascript">
	function  bigimage(imageurl)
	{
	var varname = new  Image();
	varname.src = imageurl;
	if   (varname.width>99)
	{
	document.write   ( "  <IMG   SRC= "+varname.src+ " border=0 width=230 height=320> ");
	alert("datu")
	}
	else
	{
	document.write   ( " <IMG   SRC= "+varname.src+ "  width = 120 height = 180 border=0> ");
	alert( " xiaotu");
	}
	}
</script> 



为什么只会显示小图.。。。。。。。

这是因为在获得image的width属性时  图片还没预装完!!
通过alert("varname.width")可以让图片装载完毕.........


解决方法是
<script <script language="javascript" type="text/javascript">
function loadImage(url)
{
var varname = new  Image();
varname.src =url;
bigimage(url);
}

function  bigimage(imageurl)
	{
	var varname = new  Image();
         varname.src =imageurl;
	if   (varname.width>99)
	{
	document.write("<IMG SRC="+imageurl+"border=0 width=230 height=320> ");
	alert("datu")
	}
	else
	{
	document.write("<IMG SRC= "+imageurl+ "  width = 120 height = 180 border=0> ");
	alert( " xiaotu");
	}
	}
</script> 


或者不用 添加的函数

把加载的图片在函数外面 执行页面时就加载.......

一些浏览器试图通过在本地缓存中保存这些图片来解决此问题。这样一来可以顺序调用这些图片——但对于首次使用这些图片的时候仍然会存在延时。预装载就是一种在需要图片之前就将图片下载到缓存的技术。采用这样的方式可以使当确实需要显示图片时迅速将其从缓存中恢复回来并立即显示。

看了java精粹这本书 得到启示
function  bigimage(imageurl)
	{
	var varname = new  Image();
        var target=new Image();
        varname.onload=function()
        {
            target.src=varname.src;
        }
        varname.src=imageurl;
	if   (target.width>99)
	{
	document.write("<IMG SRC="+target.src+" border=0 width=230 height=320> ");
	alert("datu")
	}
	else
	{
	document.write("<IMG SRC= "+imageurl+ "  width = 120 height = 180 border=0> ");
	alert( " xiaotu");
	}
	}
</script> 


原文是

分享到:
评论

相关推荐

    基于预装载地图(类似于谷歌地图)解决方案

    ### 基于预装载地图解决方案的关键知识点 #### 一、预装载地图概念与优势 在互联网地图领域,为了提高地图加载速度和用户体验,一种名为“预装载地图”(类似于谷歌地图)的技术被广泛采用。预装载地图的核心思想...

    js 利用image对象实现图片的预加载提高访问速度

    一些浏览器试图通过在本地缓存中保存这些图片来解决此问题。这样一来可以顺序调用这些图片——但对于首次使用这些图片的时候仍然会存在延时。预装载就是一种在需要图片之前就将图片下载到缓存的技术。采用这样的...

    充电桩解决方案.docx

    EPC-9200 工控主板是充电桩控制系统的核心组件,采用 Cortex-A8 构架,工作频率达 800MHz,预装 WinCE 或 linux 操作系统。主要优势如下: * 接口丰富:板载 6 路 RS-232、2 路 CANBus; * 数据处理、通讯能力强,...

    安卓大屏导航ROM签名软件

    附带的".jpg"图片文件可能是刷机过程的截图或者教程图片,"使用前看这里.txt"则可能是一个使用指南,详细解释了如何使用上述工具进行安全有效的刷机操作。 总的来说,这个压缩包提供了一套完整的安卓大屏导航系统...

    英利Linux工控主板使用必读(EM928x)V1.0

    本文档详细介绍了英利Linux工控主板系列中的EM928x型号,...文档采用了通俗易懂的语言和大量图片,旨在帮助用户快速掌握英利EM928x系列工控主板的使用方法,并在遇到问题时能够通过多种途径获得英利公司的技术支持。

    T5L-DGUS2应用指南-V51-COF屏.pdf

    屏幕采用了8Mbytes的SPI Flash,支持JPEG图片和图标的压缩存储,用户可以指定背景图片的存储空间大小。此外,屏幕内置了512Kbytes的Nor Flash作为用户数据库和128Kbytes的数据变量空间,满足了基本的数据存储和处理...

    Taurus系列多媒体播放器 TB2-4G(选配4G)规格书-V1.6.3-综合文档

    TB2-4G(选配4G)采用4核处理器,主频达到1.2GHz,支持1080P高清视频硬解码,配备1GB运行内存以及板载32GB内部存储空间(其中28GB可供用户使用)。这些配置确保了设备拥有出色的处理能力和流畅的多媒体播放体验。 *...

Global site tag (gtag.js) - Google Analytics