本文實例講述了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程序設計有所幫助。