不需要 jQuery:
<div id="loading"></div>
.
function loading(e, s, t) {
const to = 200; // miliseconds
if (arguments.length == 2) t = s;
switch (s) {
case '':
e.innerHTML = '';
loading(e, t, t);
break;
default:
e.innerHTML += s.charAt(0);
setTimeout(function() {
loading(e, s.substr(1), t);
}, to);
}
}
loading(document.getElementById('loading'), 'NOW LOADING...');
http://jsfiddle.net/SHiNKiROU/Su2hy/
编辑:我认为您希望在加载消息上添加点填充
<div id="loading" style="font-family: monospace;"></div>
.
function loading(e, s) {
const to = 200; // miliseconds
var x = 0;
function helper(i) {
var ht = '';
for (var j = 0; j <= i; j++) {
ht += s.charAt(j);
}
for (var j = i + 1; j < s.length; j ++) {
ht += '.';
}
e.innerHTML = ht;
}
return setInterval(function() {
helper(x++);
if (x == s.length) x = 0;
}, to);
}
var intv = loading(document.getElementById('loading'), 'LOADING');
// clearInterval(intv); when loading finished
http://jsfiddle.net/SHiNKiROU/Su2hy/9/