setTimeout【注:out的'o'是小写】

如果setTimeout(function,mill)中的function带参数,则定义的毫秒树mill会失效,function方法会立即执行
解决方法:把参数定义为"全局变量"进行操作,或者不要单独写一个方法,直接再同一个方法内直接写function函数,例如本例中的第一个setTimeout;
例子1:
var operations =[Object object,Object object,Object object,Object object,Object object];
function sessionPlayback(){
playControl(0);
}
function playControl(i){
var operation = operations[i];
var content = $("#operation_content").val();
content+="#>"+operation.request;
$("#operation_content").val(content);
setTimeout(function(){
var content = $("#operation_content").val();
content+= operation.response+"\r\n";
$("#operation_content").val(content);
},eval((operation.endTime - operation.startTime)*playSpeed));
i ++;
if(i例子2:
function playControl(){
console.log("operations:"+operations);
$("#operation_content").val("");
for(var i = 0;i < operations.length;i++){
var jiangetime = 0;
if(i>0){
jiangetime = operations[i].startTime - operations[0].startTime;
}
console.log("jiangetime:"+jiangetime);
setTimeout("showOperationHistory(operations["+i+"])",jiangetime);
}
$("#operation_content").focus();
}
function showOperationHistory(operation){
var content = $("#operation_content").val();
content+="#>"+operation.request+"\r\n";//加换行
console.log("--------------------");
$("#operation_content").val(content);
setTimeout(function(){
var content = $("#operation_content").val();
content+= operation.response+"\r\n";
$("#operation_content").val(content);
},eval(operation.endTime - operation.startTime));
}传递的参数尽量是字符串!
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
标题名称:setTimeout的function带参数-创新互联
浏览地址:http://cdysf.com/article/dooood.html