代码如下: 首先实现该功能的js对象LoadingMsg:
var Class = { create: function() { return function() { this.init.apply(this,arguments); } } } var LoadingMsg = Class.create(); LoadingMsg.prototype = { init: function(spanId,spanMsg) { this.intervalID = -10000; this.spanId=spanId; this.spanMsg=spanMsg; this.timespan = 1000; this.pointNum = 3; this.initPointMsg = "..."; }, 로드 중: function() { var maxLength = this.spanMsg.length this.pointNum; var currentSpanMsg = document.getElementById(this.spanId).innerHTML; if (currentSpanMsg.length < maxLength) { document.getElementById(this.spanId).innerHTML = "."; } else { document.getElementById(this.spanId).innerHTML = this.spanMsg; } }, 시작: function() { document.getElementById(this.spanId).innerHTML = this.spanMsg this.initPointMsg; var callObj = this; this.intervalID = setInterval(function() { callObj.Loading(); }, this.timespan); }, 끝: function() { document.getElementById(this.spanId).innerHTML = ""; clearInterval(this.intervalID); } }
关键点:
如果把
var callObj = this; this.intervalID = setInterval(function() { callObj.Loading(); }, this.timespan);
写成:
이것 .intervalID = setInterval(this.Loading, this.timespan);
이것은 this.spanMsg의 설정입니다.
이것은 this.spanMsg의 Loading 방식입니다.象。 windows.setInterval嘛。
代码如下: <본문>