js去除浏览器默认底图

我们在设计一些图片比较多的网页时,为了增强用户体验,希望图片加载的时候有个loading动画效果,而不是由空白到一下子出来。
在zen cart的二次开发过程中同样也遇到了这个问题,下面是我的解决方案。
首页给图片设置一个默认的loading动画,再分配一个id,
如<img  id=”loading1″  src=”loading.gif”>实际上加载过程通过一个函数来完成

function addListener(element, type, expression, bubbling) {
 bubbling = bubbling || false;
 if(window.addEventListener) { // Standard
  element.addEventListener(type, expression, bubbling);
  return true;
 } 
 else if(window.attachEvent) { // IE
  element.attachEvent('on' + type, expression);
  return true;
 } 
 else return false;
}

var ImageLoader = function(url){
 this.url = url;
 this.image = null;
 this.loadEvent = null;
};

ImageLoader.prototype = {
 load:function(){
  this.image = document.createElement_x('img');
  var url = this.url;
  var image = this.image;
  var loadEvent = this.loadEvent;
  addListener(this.image, 'load', function(e) {
   if(loadEvent != null){
    loadEvent(url, image);
   }
  }, false);
  this.image.src = this.url;
 },
 getImage:function(){
  return this.image;
 }
};

function loadImage(objId,urls) {
 var loader = new ImageLoader(urls);
 loader.loadEvent = function(url){
  obj = document.getElementByIdx_x(objId);
  obj.src = url;
 }
 loader.load();
}

通过loadImage函数就可以为指定的图片添加加载过程,其中通过addListener 函数注册事件,
使得在图片加载完成的时候能够自动替换掉loading.gif这个动画过渡图片。使用代码很简单

    <img  id=”loading1″  src=”loading.gif”  />

    <script language=”JavaScript”>

    loadImage(“loading1″,”http://www.baidu.com/img/baidu_logo.gif”);

    </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值