+ -
当前位置:首页 → 问答吧 → window.setTimeout问题

window.setTimeout问题

时间:2011-09-20

来源:互联网

JScript code
function admin_login(form){
    if(form.author.value==''){
        form.author.focus();
        $("msg").innerHTML = "\u8bf7输入用户名!";
        return false;
    }

    form.logins.disabled = true;
    form.logins.value = "\u6b63在登錄!请稍后...";
    
    // 我要的效果是5秒后才 return true;
    window.setTimeout("return true;",5000);
    //return true;
}


怎么弄?

作者: cooc123   发布时间: 2011-09-20

这样子是不行的,你可以把return true之后要执行的代码在5秒之后执行,但是不能5秒后才return true; 没办法阻塞线程5秒才return

作者: ZXY900213   发布时间: 2011-09-20

function admin_login(form,callback){
  if(form.author.value==''){
  form.author.focus();
  $("msg").innerHTML = "\u8bf7输入用户名!";
  return false;
  }

  form.logins.disabled = true;
  form.logins.value = "\u6b63在登錄!请稍后...";
   
  // 我要的效果是5秒后才 return true;
  window.setTimeout(function(){
  callback.call(null,true);
  },5000);
  //return true;
}

作者: Javascripters   发布时间: 2011-09-20

function admin_login(form,callback){
  if(form.author.value==''){
  form.author.focus();
  $("msg").innerHTML = "\u8bf7输入用户名!";
  callback.call(null,false);
  return false;
  }

  form.logins.disabled = true;
  form.logins.value = "\u6b63在登錄!请稍后...";
   
  // 我要的效果是5秒后才 return true;
  window.setTimeout(function(){
  callback.call(null,true);
  },5000);
}
admin_login(form,function(boolean){
  if(boolean){
  // 代码
  }
})

作者: Javascripters   发布时间: 2011-09-20

相关阅读 更多