怎么使jquery的each循环每执行一次,停一段时间再执行下一次循环呢
怎么使jquery的each循环每执行一次,停一段时间再执行下一次循环呢
,用了setTimeout,没效果。。如下是源代码
$(function(){
$("#btn").click(function(){
$.ajax({
type:"POST",
url:"Common.asmx/SendMsgs",
data:"{}",
contentType:"application/json",
dataType:"json",
success:function(data){
var jsonData=data.d;
var jsonTable=jQuery.parseJSON(jsonData);
$.each(jsonTable.jsonName,function(i,item){
var oldHtml="<span>我: "+item.id+"</span><br/>"+"<span>"+item.age+"</span>";
$("<p>").html(oldHtml).appendTo($("div")).css({color:"red"});
setTimeout("function(){return false;}",5000);
});
},
error:function(){
alert("error");
}
});
});
});
===========WEB服务==============
[WebMethod]
public string SendMsgs()
{
return "{"jsonName":[{"id":"001","age":"10"},{"id":"002","age":"20"},{"id":"003","age":"30"}]}";
}
[解决办法]
setTimeout("$("<p>").html("<span>我: " + item.id + "</span><br/>" + "<span>" + item.age + "</span>").appendTo($("div")).css({ color: "red" })", i * 1000);
这样应该没有问题吧
[解决办法]
$.each(jsonTable.jsonName, function (i, item) {
var oldHtml = "<span>我: " + item.id + "</span><br/>" + "<span>" + item.age + "</span>";
setTimeout(function () {
$("<p>").html(oldHtml).appendTo($("div")).css({ color: "red" });
}, i*5000);
});