setTimeout未按预期执行

时间:2017-11-23 11:40:30

标签: javascript jquery

我搜索了很多,但我无法弄清楚我做错了什么。我有一个引用了jQuery的ASP.NET页面(没有错误)和下面的脚本:

$(function () {
  $('#<%=Button1.ClientID%>').click(function () {
    debugger;
    setTimeout(function () {
      $('#Success').css("visibility", "visible");
      $('#Def').css("visibility", "hidden");
    }, 1000);
    return false;
  })
});

这个想法是隐藏一个面板,并在按钮点击时显示另一个面板。我添加debugger并看到它确实被调用了。然而,它似乎只是被跳过后的代码块,因为它不执行该函数并返回false。

任何人都可以帮我解决这个问题吗?

编辑1           完成     

<asp:Panel ID="Def" runat="server">
Default panel
</asp:Panel>

更改了面板上面的代码,如下所示,但发生错误

            $('#Success').style.display ="block";
            $('#Def').style.display = "none";

1 个答案:

答案 0 :(得分:0)

$(function () {
 $('#<%=Button1.ClientID%>').click(function () {
  debugger;
  setTimeout(function () {
     $('#Success').css("display", "");
     $('#Def').css("display", "none");
}, 1000);
return false;
 })
});

这将有效...