zoukankan      html  css  js  c++  java
  • setTimeout

    写了这样一段代码:

    //应用jquery UI的弹出层
    $('#dialog p').html(msg.msg);
    $('#dialog').dialog('open');
    setTimeout(“$('#dialog').dialog('close');”,2000);
    location.reload();

    本意是弹出层在两秒后自动关闭,然后再刷新页面,但是结果发现在ie 中根本不弹出就刷新了,产生这一悲剧的是没有了解setTimeout的工作原理

        Javascript中的函数调用是通过堆栈实现的。

    $('#dialog').dialog('open');

    setTimeout(“$('#dialog').dialog('close');”,2000);
    location.reload();

    在执行这段代码的时候,$('#dialog').dialog('open');先入栈,如果没有setTimeout的话应该是$('#dialog').dialog('close');入栈,最后是location.reload();入栈,但是现在给$('#dialog').dialog('close');加上了setTimeout后,$('#dialog').dialog('close');就被放在一个新的栈中等待,于是就先执行了location.reload();

  • 相关阅读:
    JAVA的反射理解
    网络编程-小结
    JAVA多线程的总结
    Mysql基本语句的总结
    IO流
    JAVA集合介绍
    时间复杂度
    JAVA面向对象-多态的理解
    求A的B次方
    最大公约数
  • 原文地址:https://www.cnblogs.com/Italianetz/p/3312198.html
Copyright © 2011-2022 走看看