/* 上传进度条 */ import $ from '../../util/dom-core.js' function Progress(editor) { this.editor = editor this._time = 0 this._isShow = false this._isRender = false this._timeoutId = 0 this.$textContainer = editor.$textContainerElem this.$bar = $('
') } Progress.prototype = { constructor: Progress, show: function (progress) { // 状态处理 if (this._isShow) { return } this._isShow = true // 渲染 const $bar = this.$bar if (!this._isRender) { const $textContainer = this.$textContainer $textContainer.append($bar) } else { this._isRender = true } // 改变进度(节流,100ms 渲染一次) if (Date.now() - this._time > 100) { if (progress <= 1) { $bar.css('width', progress * 100 + '%') this._time = Date.now() } } // 隐藏 let timeoutId = this._timeoutId if (timeoutId) { clearTimeout(timeoutId) } timeoutId = setTimeout(() => { this._hide() }, 500) }, _hide: function () { const $bar = this.$bar $bar.remove() // 修改状态 this._time = 0 this._isShow = false this._isRender = false } } export default Progress