本文實例講述了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>
希望本文所述對大家的javascript程序設計有所幫助。