为什么我收到此错误“块未定义”?

时间:2011-09-15 13:49:35

标签: javascript jquery

我收到此javascript错误:“未定义块”

<script type="text/javascript">
$(document).ready(function()
{
  $(".register_now").click(function()
  {

    $(".fp_top_right_login").slideToggle(600);
    var st = document.getElementById("fp_top_right_register").style.display;
    if(st == "" || st == "none")
    {
      window.setTimeout(document.getElementById("fp_top_right_register").style.display="block",600); //error happens here
    }
    else
    {
      window.setTimeout(document.getElementById("fp_top_right_register").style.display="none",600); //and also here
    }
  });
});
</script>

3 个答案:

答案 0 :(得分:7)

setTimeout将函数作为参数。您可以使用匿名函数。例如:

window.setTimeout(function() {
    document.getElementById("fp_top_right_register").style.display="block"; 
}, 600);

答案 1 :(得分:3)

使用setTimeout时出错。

window.setTimeout(function(){document.getElementById("fp_top_right_register").style.display="block"},600);

另外,请考虑使用jquery css

$('#fp_top_right_register').css('display','block');

答案 2 :(得分:0)

window.setTimeout的第一个参数应该是一个函数,而不是一个字符串,这是你的作业的结果。

您可能希望将该作业包装在

function () { .... }