這篇文章主要為大家展示了“JQuery+Bootstrap如何自定義全屏Loading插件”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“JQuery+Bootstrap如何自定義全屏Loading插件”這篇文章吧。
創(chuàng)新互聯(lián)建站是專業(yè)的慶云網(wǎng)站建設(shè)公司,慶云接單;提供做網(wǎng)站、網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行慶云網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!
JQuery+Bootstrap 自定義全屏Loading插件
/** * 自定義Loading插件 * @param {Object} config * { * content[加載顯示文本], * time[自動關(guān)閉等待時間(ms)] * } * @param {String} config * 加載顯示文本 * @refer 依賴 JQuery-1.9.1及以上、Bootstrap-3.3.7及以上 * @return {KZ_Loading} 對象實例 */ function KZ_Loading(config) { if (this instanceof KZ_Loading) { const domTemplate = ''; this.config = { content: 'loading...', time: 0, }; if (config != null) { if (typeof config === 'string') { this.config = Object.assign(this.config, { content: config }); } else if (typeof config === 'object') { this.config = Object.assign(this.config, config); } } this.id = new Date().getTime().toString(); this.state = 'hide'; /*顯示 */ this.show = function () { $('.kz-loading[data-kzid=' + this.id + ']').modal({ backdrop: 'static', keyboard: false }); this.state = 'show'; if (this.config.time > 0) { var that = this; setTimeout(function () { that.hide(); }, this.config.time); } }; /*隱藏 */ this.hide = function (callback) { $('.kz-loading[data-kzid=' + this.id + ']').modal('hide'); this.state = 'hide'; if (callback) { callback(); } }; /*銷毀dom */ this.destroy = function () { var that = this; this.hide(function () { var node = $('.kz-loading[data-kzid=' + that.id + ']'); node.next().remove(); node.remove(); that.show = function () { throw new Error('對象已銷毀!'); }; that.hide = function () {}; that.destroy = function () {}; }); } var domHtml = domTemplate.replace('@@KZ_Loadin_ID@@', this.id).replace('@@KZ_Loading_Text@@', this.config.content); $('body').append(domHtml); } else { return new KZ_Loading(config); } }@@KZ_Loading_Text@@
基本調(diào)用:
var loading = new KZ_Loading('數(shù)據(jù)加載中。。。'); setTimeout(function () { console.log('加載完成!'); loading.hide(); }, 1000);
自動關(guān)閉:
var loading = new KZ_Loading({ content: '數(shù)據(jù)加載中。。。', time: 2000 }); loading.show();
銷毀Loading Dom節(jié)點:
loading.destroy();
ps:下面看下基于JQUERY BOOTSTRAP 最簡單的loading遮罩層
<%--loading遮罩層--%><%--loading方法--%>loading...
以上是“JQuery+Bootstrap如何自定義全屏Loading插件”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!