这个想法是创建一个进度条,但带有句号“.”。所以在 div 中,有一个“.”每 500 毫秒就会追加一次,我想做的是,如果 div 的长度(即“.”的数量)大于 3,则开始删除一个“.”。一次,然后在 0 时再次启动该过程:
setInterval(function() {
$("#load").append(".");
var length;
$('#load').each(function(){
length = $("#load").val().length;
});
if (length > 3){
$("#load").remove(".");
}
}, 500);
最佳答案
我认为效率在这里不是问题。
不过,还有一些问题需要解决:
.val()
仅适用于表单输入 - 对于您想要.text()
的 div。- 我认为只有一个 ID 为“load”的 div。如果有更多,则应使用类而不是 ID,如果没有,则不需要
.each()
。
最后,我会这样做:
var count = 0, dots = '...';
setInterval(function () {
var len = Math.abs(count++ % 6 - 3); // Gives only 3, 2, 1, 0, 1, 2, 3, ...
$('#load').text(dots.substring(0, 3 - len));
}, 500);
在此处查看演示:http://jsfiddle.net/Xp77Q/3/
关于jquery - 在 jQuery 中添加/删除的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4814616/