当前位置: 首页 > news >正文

预加载图片问题 in ASP .NET


javascript是依赖于浏览器的,可能是IE 6不支持您的预加载图片的功能。
通过javascript预加载图片,您可以参考下述代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<SCRIPT LANGUAGE="JavaScript">
<!--
var IE=navigator.appName=="Microsoft Internet Explorer";
var Opera=navigator.appName.toLowerCase()=="opera";
var FF=!IE && !Opera;
function LoadImage(arrSrc,callBack)
{
this.Length=arrSrc.length;
this.LoadedLen=0; //已经被加载的图片个数
var self=this;
if(self.Length<1)
{
callBack(arrSrc);
return;
}

//经测试,OPERA与别的浏览器加载方式不同,所以特别独立开来...
if(Opera)
{
for(var i=0;i<self.Length;i++)
{
var tmpImg=new Image();
tmpImg.src=arrSrc[i];
tmpImg.οnlοad=function()
{
self.LoadedLen++;
if(self.LoadedLen==self.Length && callBack) callBack(arrSrc);
}
}
return;
}

this.Load=function()
{
self.LoadedLen++;
document.getElementById("counter").innerHTML=self.LoadedLen;
if(self.LoadedLen<self.Length) self.DownImg();
else if(callBack) callBack(arrSrc);
}

this.DownImg=function()
{
var tmpImg=new Image();
tmpImg.src=arrSrc[self.LoadedLen];
if(IE)
{
if(tmpImg.readyState=="complete") self.Load();
else tmpImg.onreadystatechange=function()
{
if(this.readyState=="complete") self.Load();
}
}
else tmpImg.οnlοad=self.Load;
}
this.DownImg();
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<div id="counter"></div>
<SCRIPT LANGUAGE="JavaScript">
<!--
var arr=[' http://photo.hjbbs.com/photo/20060531/20060531103027226_756_o.jpg','http://img1.soufun.com/bbs/2007_02/13/1171345302199.jpeg','http://img.c8c8.cn/2006/09/09/15032/pp20060909002749.jpg'];
var t=new LoadImage(arr,function(arr)
{

var str="";
for(var i=0;i<arr.length;i++)
{
str+="<img src='"+arr[i]+"' /><br>";
}
document.body.innerHTML+=str;
});
//-->
</SCRIPT>
</BODY>
</HTML>

相关文章:

  • 软件开发C#中ref和out的使用小结
  • 封装的变化之不断变化的需求
  • ***利用Ms05002溢出找“肉鸡
  • 如何利用局域网来实现VLAN的实例
  • 关于windows 2003 权限划分
  • asp的站内搜索功能
  • html地址栏传值问题
  • 经典东北话集锦2
  • 汪中求讲座免费在线学习 免费下载
  • NAS DAS SAN三种存储方式的比较
  • 给WSS3.0增加用户与IP绑定功能
  • CrystalReport水晶报表
  • 网站SEO方案
  • 关于业务规则层、业务实体层、业务外观层、模型层的作用很不清楚,殷切期望解答...
  • 交换机和路由器的区别
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • Apache的80端口被占用以及访问时报错403
  • Codepen 每日精选(2018-3-25)
  • IDEA 插件开发入门教程
  • iOS编译提示和导航提示
  • npx命令介绍
  • Odoo domain写法及运用
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • Vue ES6 Jade Scss Webpack Gulp
  • 测试开发系类之接口自动化测试
  • 测试如何在敏捷团队中工作?
  • 从零搭建Koa2 Server
  • 浮现式设计
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 使用权重正则化较少模型过拟合
  • 网络应用优化——时延与带宽
  • 由插件封装引出的一丢丢思考
  • const的用法,特别是用在函数前面与后面的区别
  • 阿里云API、SDK和CLI应用实践方案
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • 如何在招聘中考核.NET架构师
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • !!java web学习笔记(一到五)
  • !$boo在php中什么意思,php前戏
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #DBA杂记1
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (30)数组元素和与数字和的绝对差
  • (4)STL算法之比较
  • (LeetCode C++)盛最多水的容器
  • (备忘)Java Map 遍历
  • (第二周)效能测试
  • (多级缓存)多级缓存
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转)母版页和相对路径