DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> JS實現的自定義顯示加載等待圖片插件(loading.gif)
JS實現的自定義顯示加載等待圖片插件(loading.gif)
編輯:關於JavaScript     

本文實例講述了JS實現的自定義顯示加載等待圖片插件。分享給大家供大家參考,具體如下:

在工作中遇到了一個問題 —— 某個業務流程分為幾個階段,每個階段如果在數據沒有顯示出來之前就要顯示加載圖片loading.gif文件,如果有數據了就消失。為此,自己寫了一個方法,方便整個工程使用。

<button onclick="show()">show</button>
<button onclick="hide()">hide</button>
<script>
//創建加載對象
var obj = new loadingImg();
//顯示加載圖片
function show(){
  obj.show();
}
//隱藏加載圖片
function hide(){
  obj.hide();
}
//加載圖片方法(對象)
function loadingImg(mySetting){
  var that = this;
  if(mySetting == "" || mySetting == undefined || typeof mySetting != "object"){
    mySetting = {};
  }
  //使用時間戳作為空間的ID
  var targetID = new Date().getTime();
  this.setting = {
    //插入圖片的容器,使用jquery的查詢方式傳入參數
    targetConater : "",
    //使用圖片的地址
    imgUrl : "../img/loading.gif",
    //圖片顯示的 寬度
    imgWidth : "32px",
    //圖片的默認樣式
    imgClass : "",
    //生成控件的ID
    "targetID" : targetID,
    //顯示之前的回調函數
    beforeShow : function(plugin){
    },
    //顯示之後的回調函數
    afterShow : function(plugin,targetID){
    }
  }
  this.setting = $.extend(this.setting, mySetting);
  //獲取屏幕的寬度
  this.getScreenWidth = function(){
    return document.documentElement.clientWidth;
  }
  //獲取屏幕的高度
  this.getScreenHeight = function (){
    return document.documentElement.clientHeight;
  }
  //顯示控件
  this.show = function(){
    $("#" + that.setting.targetID).show();
  }
  //隱藏控件
  this.hide = function(){
    $("#" + that.setting.targetID).hide();
  }
  this.init = function(){
    //顯示之前執行回調函數
    if(typeof that.setting.beforeShow == "function"){
      that.setting.beforeShow(that);
    }
    //存放字符串的變量
    var targetHTML = '';
    //將內容存放到指定的容器中,默認存放到body最底部
    if(that.setting.targetConater != "" && this.setting.targetConater != undefined){
      targetHTML = '<img src="' + that.setting.imgUrl + '" class="' + that.setting.imgClass + '" id="' + that.setting.targetID + '" style="display:none;">';
      $(that.setting.targetConater).html(targetHTML);
    }else{
      targetHTML = '<img src="' + that.setting.imgUrl + '" class="' + that.setting.imgClass + '">';
      targetHTML = '<div id="' + that.setting.targetID + '" style="display:none;position: absolute;top:50%;left: 50%;height: ' + that.getScreenHeight()+';width:'+that.getScreenWidth()+'">' + targetHTML + '</div>';
      $("body").append(targetHTML);
    }
    //判斷用戶是否自定義了圖片的寬度
    if(that.setting.imgWidth != "" && that.setting.imgWidth.indexOf("px")>0 ){
      $("#"+targetID).css("width",that.setting.imgWidth);
    }
    //顯示之後執行回調函數
    if(typeof that.setting.afterShow == "function"){
      that.setting.afterShow(that,targetID);
    }
  }
  this.init();
}
</script>

更多關於JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved