js去除浏览器默认底图

来源:互联网 发布:网络电视直播翡翠台 编辑:程序博客网 时间:2024/05/16 07:40
我们在设计一些图片比较多的网页时,为了增强用户体验,希望图片加载的时候有个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
原创粉丝点击