JS實(shí)現(xiàn)的自定義顯示加載等待圖片插件(loading.gif)
本文實(shí)例講述了JS實(shí)現(xiàn)的自定義顯示加載等待圖片插件。分享給大家供大家參考,具體如下:
在工作中遇到了一個(gè)問題 —— 某個(gè)業(yè)務(wù)流程分為幾個(gè)階段,每個(gè)階段如果在數(shù)據(jù)沒有顯示出來之前就要顯示加載圖片loading.gif文件,如果有數(shù)據(jù)了就消失。為此,自己寫了一個(gè)方法,方便整個(gè)工程使用。
<button onclick="show()">show</button>
<button onclick="hide()">hide</button>
<script>
//創(chuàng)建加載對象
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 = {};
}
//使用時(shí)間戳作為空間的ID
var targetID = new Date().getTime();
this.setting = {
//插入圖片的容器,使用jquery的查詢方式傳入?yún)?shù)
targetConater : "",
//使用圖片的地址
imgUrl : "../img/loading.gif",
//圖片顯示的 寬度
imgWidth : "32px",
//圖片的默認(rèn)樣式
imgClass : "",
//生成控件的ID
"targetID" : targetID,
//顯示之前的回調(diào)函數(shù)
beforeShow : function(plugin){
},
//顯示之后的回調(diào)函數(shù)
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(){
//顯示之前執(zhí)行回調(diào)函數(shù)
if(typeof that.setting.beforeShow == "function"){
that.setting.beforeShow(that);
}
//存放字符串的變量
var targetHTML = '';
//將內(nèi)容存放到指定的容器中,默認(rèn)存放到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);
}
//顯示之后執(zhí)行回調(diào)函數(shù)
if(typeof that.setting.afterShow == "function"){
that.setting.afterShow(that,targetID);
}
}
this.init();
}
</script>
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動(dòng)畫特效與技巧匯總》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。
- 關(guān)于JavaScript中異步/等待的用法與理解
- 利用 spin.js 生成等待效果(js 等待效果)
- JS設(shè)置手機(jī)驗(yàn)證碼60s等待實(shí)現(xiàn)代碼
- 自己動(dòng)手寫的javascript前端等待控件
- JavaScript自定義等待wait函數(shù)實(shí)例分析
- 為JavaScript提供睡眠功能(sleep) 自編譯JS引擎
- javascript 使用sleep函數(shù)的常見方法詳解
- js中自定義方法實(shí)現(xiàn)停留幾秒sleep
- javascript中不提供sleep功能如何實(shí)現(xiàn)這個(gè)功能
- 如何使JavaScript休眠或等待
相關(guān)文章
javascript 密碼框防止用戶粘貼和復(fù)制的實(shí)現(xiàn)代碼
本篇文章主要是對javascript 密碼框防止用戶粘貼和復(fù)制的實(shí)現(xiàn)代碼進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-02-02
Bootstrap實(shí)現(xiàn)的經(jīng)典柵格布局效果實(shí)例【附demo源碼】
這篇文章主要介紹了Bootstrap實(shí)現(xiàn)的經(jīng)典柵格布局效果,結(jié)合具體實(shí)例形式分析了基于BootStrap實(shí)現(xiàn)柵格布局的完整步驟與相關(guān)操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-03-03
JavaScript eval()函數(shù)定義及使用方法詳解
這篇文章主要介紹了JavaScript eval()函數(shù)定義及使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
Electron 打包問題:electron-builder 下載各種依賴出錯(cuò)(推薦)
這篇文章主要介紹了Electron 打包問題:electron-builder 下載各種依賴出錯(cuò),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
bootstrap——bootstrapTable實(shí)現(xiàn)隱藏列的示例
本篇文章主要介紹了bootstrapTable實(shí)現(xiàn)隱藏列的示例,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-01-01
promise中reject和catch處理上區(qū)別對比分析
在 Promise 中,reject?和?catch?是處理異步操作失敗的兩種方式,本文給大家介紹promise中reject和catch處理上區(qū)別對比分析,感興趣的朋友跟隨小編一起看看吧2024-07-07

