JS實(shí)現(xiàn)的自定義顯示加載等待圖片插件(loading.gif)
本文實(shí)例講述了JS實(shí)現(xiàn)的自定義顯示加載等待圖片插件。分享給大家供大家參考,具體如下:
在工作中遇到了一個問題 —— 某個業(yè)務(wù)流程分為幾個階段,每個階段如果在數(shù)據(jù)沒有顯示出來之前就要顯示加載圖片loading.gif文件,如果有數(shù)據(jù)了就消失。為此,自己寫了一個方法,方便整個工程使用。
<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 = {};
}
//使用時間戳作為空間的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動畫特效與技巧匯總》、《JavaScript錯誤與調(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)代碼
- 自己動手寫的javascript前端等待控件
- JavaScript自定義等待wait函數(shù)實(shí)例分析
- 為JavaScript提供睡眠功能(sleep) 自編譯JS引擎
- javascript 使用sleep函數(shù)的常見方法詳解
- js中自定義方法實(shí)現(xiàn)停留幾秒sleep
- javascript中不提供sleep功能如何實(shí)現(xiàn)這個功能
- 如何使JavaScript休眠或等待
相關(guān)文章
Javascript document.referrer判斷訪客來源網(wǎng)址
用簡單幾行的javascript,就可抓到使用的來源,以及作出一些防范的措施。2009-12-12
微信小程序掃描普通二維碼跳轉(zhuǎn)到小程序指定頁面操作方法
這篇文章主要給大家介紹了關(guān)于微信小程序掃描普通二維碼跳轉(zhuǎn)到小程序指定頁面操作的相關(guān)資料,為了分享方便,或者制作宣傳海報(bào)之類的,經(jīng)常需要用到微信小程序指定頁面的二維碼,讓用戶掃碼直達(dá)頁面,需要的朋友可以參考下2023-08-08
JS判斷元素是否在數(shù)組內(nèi)的實(shí)現(xiàn)代碼
這篇文章主要介紹了JS判斷元素是否在數(shù)組內(nèi)的實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-03-03
JS Testing Properties 判斷屬性是否在對象里的方法
下面小編就為大家?guī)硪黄狫S Testing Properties 判斷屬性是否在對象里的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10
JS實(shí)現(xiàn)控制表格只顯示行邊框或者只顯示列邊框的方法
這篇文章主要介紹了JS實(shí)現(xiàn)控制表格只顯示行邊框或者只顯示列邊框的方法,涉及javascript使用表格對象的rules屬性的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03
微信小程序自定義toast實(shí)現(xiàn)方法詳解【附demo源碼下載】
這篇文章主要介紹了微信小程序自定義toast實(shí)現(xiàn)方法,簡單描述了微信小程序自帶toast使用方法,并結(jié)合實(shí)例形式分析了自定義toast的定義與使用方法,需要的朋友可以參考下2017-11-11
JS實(shí)現(xiàn)單擊輸入框彈出選擇框效果完整實(shí)例
這篇文章主要介紹了JS實(shí)現(xiàn)單擊輸入框彈出選擇框效果的方法,涉及JavaScript響應(yīng)鼠標(biāo)事件動態(tài)操作頁面元素與相關(guān)屬性的實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-12-12

